1. Donnez le numéro et nom des clients originaires de « Casablanca » classés par ordre
alphabétique croissant (nom).
Remarque : l’attribut ville est de type text donc la valeur Casablanca est mise entre
guillemets.
L’ordre croissant dans order by est pris par défaut, nous n’avons donc pas d’ajouter asc.
2. Donnez la description et le code article dont le prix est supérieur à 150 DH.
Remarque : l’attribut prix est numérique, il ne faut pas écrire DH dans la requête.
Solution : Select *
From Articles
Where FourniPar = "Super info" ;
5. Donnez la liste des articles (code, description, prix et prixTTC 20% de TVA) dont le prix est
compris entre 200 DH et 500 DH. Afficher le résultat par ordre décroissant de prix.
Remarque : pour calculer le nombre de commandes, il faut utiliser la fonction count. group by
permet de créer des sous relations, une par client. L’attribut dans le group by doit exister dans
Select.
9. Donnez la liste des commandes (numéro, date, numéro de client et nom) des clients
originaires de « Agadir ».
10. Donnez la liste des articles (code et description) d’un fournisseur donné [paramètre saisi au
clavier].
Solution : Select codeArticle, description
From Articles
Where FourniPar = [Donnez le nom du fournisseur] ;
Remarque : Quand nous voulons donner la valeur d’une condition pendant l’exécution, la
requête est paramétrée par [message].
11. Donnez le nom des clients et personne à contacter (avec préfixe) ayant commandés des
articles importés.
Solution : Select nomclient, prefixe & " " & contact as contacter
From clients C, commandes D
Where (importé = true) and (C.Nclient = D.Nclient);
Remarque : Les fonctions min et max sont utilisées pour avoir le minimum et le maximum. La
table commande est utilisée pour avoir les articles commandés. Les articles qui ne figurent pas
dans commande ne sont pas considérés.
13. Donnez pour chaque client, son numéro, son nom et le montant à payer pour toutes ses
commandes.
Remarque : Pour chaque client qui a passé commande on calcule la somme des prix*quantités.
Nomclient se trouve dans client, quantité dans commandes et prix dans articles. Donc nous
avons utilisé les 3 tables avec 2 jointures.
N tables dans From nécessite au mons (N-1) jointures dans Where.
(codeArticle = article) est la 1ère jointure, ici la variable de désignation n’est pas nécessaire
parceque les 2 attributs n’ont pas le même nom.
(C.Nclient = D.Nclient) est la 2e jointure, ici la variable de désignation est pas nécessaire
parceque les 2 attributs ont le même nom.