Aller au contenu

UGA - MIASHS - S7 - BDD - Pierre Blarre

Exercice 1

Icône Présentation
1 / 1

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.

SELECT
D.numeroCommande AS 'Commande',
P.nom AS 'Produit',
P.prix AS 'Prix',
D.quantite AS 'Quantité',
D.quantite * P.prix AS 'Montant'
FROM Details D, Produits P, Commandes Co
WHERE D.numeroProduit = P.numero
AND D.numeroCommande = Co.numero
AND Co.numeroClient = 1;
Résultat de la requête :
Montant détails du client 1
CommandeProduitPrixQuantité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 :

SELECT
D.numeroCommande AS 'Commande',
P.nom AS 'Produit',
P.nom AS 'Produit',
D.quantite AS 'Quantité',
D.quantite * P.prix AS 'Montant'
FROM Details D
JOIN Commandes Co ON D.numeroCommande = Co.numero
JOIN Produits P ON D.numeroProduit = P.numero
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.

SELECT SUM(D.quantite * P.prix) AS 'Montant total'
FROM Details D, Produits P
WHERE D.numeroProduit = P.numero
AND P.nom = 'Casquette';
Résultat de la requête :
Casquettes
Montant total
30