29 Nov2015
Les requêtes SELECT - Base de données COMMERCE
Objectif : Écrire des requêtes SELECT comportant la projection, le tri, le regroupement et les jointures.
//Source : www.exelib.net
Soit le schéma relationnel suivant:
Écrire les requêtes suivantes en SQL :
- Nombre de commandes effectués par le client 123
- La liste des employés embauchés en 1992
- La liste des employés embauchés entre 1993 et 1994
- Liste des employés nés au mois de janvier
- Afficher le nombre total de produits différents qui appartiennent à la catégorie 2, 3, 4, 5 ou 8.
- Liste des produits (référence, nom et prix unitaire) dont le prix est compris entre 50 et 80 classés par ordre de prix et par noms de produits.
- Afficher le nombre total de fournisseurs qui habitent soit en France, soit aux USA, soit en Allemagne.
- Afficher la liste des employés (nom, prénom, fonction) dont la fonction est « responsable » de quelque chose (ex : « responsable des ventes », « responsable du personnel » …)
- Afficher le montant total commandé pour toutes les commandes dont le numéro est inférieur ou égal à 10270 (NB : on affichera également le numéro de commande).
- Afficher le prix du produit le moins cher pour l’ensemble des catégories 2, 4 et 5.
- Nombre d’articles différents par fournisseur
- Nombre d’articles par commande
- Afficher le montant total commandé (sans tenir compte de la remise) pour toutes les commandes dont le numéro est supérieur à 150 (on affichera également le numéro de commande)
- Nombre d’article par commande, pour les numéros de commandes après 10030
- Afficher pour chaque catégorie de produit (code_catégorie) le nombre total d’unités commandées (NB : on utilisera ici le champ unités_commandées de la table produits).
- On se limitera aux codes de catégories plus petites que 5 et au nombre total d’unités commandées supérieures à 100
- Moyenne d’age des employés selon leur fonction.
- Trouver les pays pour lesquels nous avons 3 clients ou plus qui sont « propriétaire », « acheteur » ou « chefs des ventes »
- Sélectionner toutes les commandes (numéro de commandes, date de la commande, nom du client) passées par le client dont le code est « ALFKI ».
- Afficher pour chaque client (code_client) le nombre de commandes passées auprès d’un employé français.
- Les commandes effectuées par le vendeur « Fuller »
- Afficher le nombre d’articles par commande (avec le numéro de commande), pour les commandes qui comportent plus de 5 articles.
- Afficher pour chaque produit (référence du produit, nom du produit) de la catégorie « 2 » (utiliser le code catégorie qui est en format texte) le nombre total de produits commandés (nb : on utilisera la quantité de la table détails_commandes).
- NB : on ne désire pas voir apparaître les produits pour lesquels on a pas commandé plus de 100 unités.
- Sélectionner tous les produits (numéro de produit, nom produit, nom catégorie) dont le code catégorie est 3 (NB : le code catégorie est stocké en format texte).
- Afficher pour chaque employé (numéro employé) le nombre de commandes passées.
- Afficher pour chaque client (nom société) le nombre total de commandes à livrer après le 31 mai 1994 (utiliser le champ a_livrer_avant). Si ce nombre est inférieur à 10, on n’affichera pas le client.
- Afficher pour chaque messager (numéro messager, nom messager) le nombre de commandes passées.
- Afficher pour les catégories 1, 3, 5, 7 et 8 le nombre total d’unités commandées (utiliser le champ « unites_commandees » de la table produits)
- On affichera le code de la catégorie et le nom de la catégorie si le nombre total d’unités commandées est différent de 0.
- Afficher le nombre de produits par catégorie (avec le code catégorie et le nom de la catégorie), pour les catégories qui comportent plus de 5 produits.
- Afficher la liste de toutes les villes qui contiennent au moins 1 client ou 1 fournisseur