Exercice 1
Exprimer les requêtes suivantes en SQL :
1. Calculer le montant (soit la quantité * prix) de chaque détails des commandes du client numero 1
On a besoin de joindre les tables Details
(pour la quantité et la commande), Produits
(pour le prix) et Commandes
(pour le numéro de client) pour obtenir les informations souhaitées.
1 SELECT2
3 D.numeroCommande AS 'Commande',4 P.nom AS 'Produit',5 P.prix AS 'Prix',6 D.quantite AS 'Quantité',7 D.quantite * P.prix AS 'Montant'8
9 FROM Details D, Produits P, Commandes Co10
11 WHERE D.numeroProduit = P.numero12 AND D.numeroCommande = Co.numero13 AND Co.numeroClient = 1;
Montant détails du client 1 | ||||
---|---|---|---|---|
Commande | Produit | Prix | Quantité | Montant |
1 | T-shirt | 25 | 3 | 75 |
1 | Pantalon | 60 | 1 | 60 |
1 | Chaussures | 120 | 1 | 120 |
2 | Casquette | 15 | 1 | 15 |
2 | Sac à dos | 80 | 1 | 80 |
Version avec JOIN
:
1 SELECT2
3 D.numeroCommande AS 'Commande',4 P.nom AS 'Produit',5 P.nom AS 'Produit',6 D.quantite AS 'Quantité',7 D.quantite * P.prix AS 'Montant'8
9 FROM Details D10 JOIN Commandes Co ON D.numeroCommande = Co.numero11 JOIN Produits P ON D.numeroProduit = P.numero12 WHERE Co.numero = 1;
2. Calculer le montant commandé (la somme SUM
) des produits ayant le nom ‘Casquette’
On a besoin de joindre les tables Details
(pour la quantité) et Produits
(pour le prix) pour obtenir les informations souhaitées. Puis on filtre les produits ayant le nom ‘Casquette’ et on calcule la somme des montants.
1 SELECT SUM(D.quantite * P.prix) AS 'Montant total'2 FROM Details D, Produits P3 WHERE D.numeroProduit = P.numero4 AND P.nom = 'Casquette';
Casquettes |
---|
Montant total |
30 |