Vous êtes sur la page 1sur 7

BRULTET Claire

Les requêtes SQL

Requête en français : Afficher toutes les informations en clair sur les factures.

Requête en SQL :

SELECT client.nom, client.prenom, factureachat.id, factureachat.quand, produit.designation,


ligneachat.prix, ligneachat.qte
FROM client, factureachat, ligneachat, produit
WHERE client.id = factureachat.client
AND factureachat.id = ligneachat.factureachat
AND ligneachat.produit = produit.id

nom prenom id quand designation prix qte


Dubois Fernand 7 2010-02-05 tomate 6.50 2.00
Dubois Fernand 7 2010-02-05 céleri 5.80 1.00
Dubois Fernand 7 2010-02-05 melons 15.00 4.00
Dupond Marcel 8 2010-02-01 framboises 13.00 2.00
Dupond Marcel 8 2010-02-01 céleri 6.00 3.00
Dupond Marcel 9 2010-02-05 maïs jaune 2.10 5.00
Dupond Marcel 9 2010-02-05 oranges 3.20 4.00
Dumont Louis 10 2010-02-08 carottes 4.70 1.00
Dumont Louis 10 2010-02-08 céleri 5.90 3.00
Dumont Louis 10 2010-02-08 cerises 16.20 1.00
Dubois Fernand 6 2010-02-08 tomate 7.00 2.00
Dubois Fernand 6 2010-02-08 melons 15.50 3.00
nom prenom id quand designation prix qte
Dubois Fernand 6 2010-02-08 artichaut 7.00 2.00
Dupré Antoine 5 2010-02-12 poireaux 8.00 1.00
Dupré Antoine 5 2010-02-12 oranges 3.00 2.00
Dupré Antoine 5 2010-02-12 pomme d'api 2.40 2.00
Dumont Louis 2 2010-02-11 salade verte 5.80 2.00
Dumont Louis 2 2010-02-11 céleri 5.80 2.00
Dumont Louis 2 2010-02-11 oranges 3.00 3.00
Duchamp Ernest 3 2010-02-12 maïs jaune 2.50 4.00
Duchamp Ernest 3 2010-02-12 framboises 12.20 2.00
Duchamp Ernest 3 2010-02-12 poireaux 8.40 1.00
Duchamp Ernest 3 2010-02-12 oranges 3.10 2.00
Dumont Louis 4 2010-02-02 pomme d'api 8.40 1.00
Dumont Louis 4 2010-02-02 tomate 7.00 1.00
Dumont Louis 4 2010-02-02 carottes 4.60 3.00
Duchamp Ernest 1 2010-02-09 salade verte 5.80 1.00
Duchamp Ernest 1 2010-02-09 tomate 6.90 2.00
Duchamp Ernest 1 2010-02-09 cerises 15.80 1.00
Duchamp Ernest 1 2010-02-09 carottes 4.70 2.00

Requête en français : Afficher pour chaque ligne le prix TTC arrondi à 2 décimales

Requête en SQL :

SELECT client.nom, client.prenom, factureachat.id, factureachat.quand, produit.designation,


ligneachat.prix, ligneachat.qte, Round( ligneachat.prix * ligneachat.qte * 1.196, 2 ) AS ttc
FROM client, factureachat, ligneachat, produit
WHERE client.id = factureachat.client
AND factureachat.id = ligneachat.factureachat
AND ligneachat.produit = produit.id

nom prenom id quand designation prix qte ttc


Dubois Fernand 7 2010-02-05 tomate 6.50 2.00 15.55
Dubois Fernand 7 2010-02-05 céleri 5.80 1.00 6.94
Dubois Fernand 7 2010-02-05 melons 15.00 4.00 71.76
nom prenom id quand designation prix qte ttc
Dupond Marcel 8 2010-02-01 framboises 13.00 2.00 31.10
Dupond Marcel 8 2010-02-01 céleri 6.00 3.00 21.53
Dupond Marcel 9 2010-02-05 maïs jaune 2.10 5.00 12.56
Dupond Marcel 9 2010-02-05 oranges 3.20 4.00 15.31
Dumont Louis 10 2010-02-08 carottes 4.70 1.00 5.62
Dumont Louis 10 2010-02-08 céleri 5.90 3.00 21.17
Dumont Louis 10 2010-02-08 cerises 16.20 1.00 19.38
Dubois Fernand 6 2010-02-08 tomate 7.00 2.00 16.74
Dubois Fernand 6 2010-02-08 melons 15.50 3.00 55.61
Dubois Fernand 6 2010-02-08 artichaut 7.00 2.00 16.74
Dupré Antoine 5 2010-02-12 poireaux 8.00 1.00 9.57
Dupré Antoine 5 2010-02-12 oranges 3.00 2.00 7.18
Dupré Antoine 5 2010-02-12 pomme d'api 2.40 2.00 5.74
Dumont Louis 2 2010-02-11 salade verte 5.80 2.00 13.87
Dumont Louis 2 2010-02-11 céleri 5.80 2.00 13.87
Dumont Louis 2 2010-02-11 oranges 3.00 3.00 10.76
Duchamp Ernest 3 2010-02-12 maïs jaune 2.50 4.00 11.96
Duchamp Ernest 3 2010-02-12 framboises 12.20 2.00 29.18
Duchamp Ernest 3 2010-02-12 poireaux 8.40 1.00 10.05
Duchamp Ernest 3 2010-02-12 oranges 3.10 2.00 7.42
Dumont Louis 4 2010-02-02 pomme d'api 8.40 1.00 10.05
Dumont Louis 4 2010-02-02 tomate 7.00 1.00 8.37
Dumont Louis 4 2010-02-02 carottes 4.60 3.00 16.50
Duchamp Ernest 1 2010-02-09 salade verte 5.80 1.00 6.94
Duchamp Ernest 1 2010-02-09 tomate 6.90 2.00 16.50
Duchamp Ernest 1 2010-02-09 cerises 15.80 1.00 18.90
Duchamp Ernest 1 2010-02-09 carottes 4.70 2.00 11.24

Requête en français : je voudrais « la même chose » pour les achats de Mr Dupond Marcel

Requête en SQL :
SELECT client.nom, client.prenom, factureachat.id, factureachat.quand, produit.designation,
ligneachat.prix, ligneachat.qte, Round( ligneachat.prix * ligneachat.qte * 1.196, 2 ) AS ttc
FROM client, factureachat, ligneachat, produit
WHERE client.id = factureachat.client
AND factureachat.id = ligneachat.factureachat
AND ligneachat.produit = produit.id
AND client.nom LIKE "dupond"
AND prenom LIKE "marcel"

nom prenom id quand designation prix qte ttc


Dupond Marcel 8 2010-02-01 framboises 13.00 2.00 31.10
Dupond Marcel 8 2010-02-01 céleri 6.00 3.00 21.53
Dupond Marcel 9 2010-02-05 maïs jaune 2.10 5.00 12.56
Dupond Marcel 9 2010-02-05 oranges 3.20 4.00 15.31

Requête en français : je voudrais « la même chose » pour les achats de framboise

Requête en SQL :

SELECT client.nom, client.prenom, factureachat.id, factureachat.quand, produit.designation,


ligneachat.prix, ligneachat.qte, Round( ligneachat.prix * ligneachat.qte * 1.196, 2 ) AS ttc
FROM client, factureachat, ligneachat, produit
WHERE client.id = factureachat.client
AND factureachat.id = ligneachat.factureachat
AND ligneachat.produit = produit.id
AND produit.designation LIKE "framboises"

nom prenom id quand designation prix qte ttc


Dupond Marcel 8 2010-02-01 framboises 13.00 2.00 31.10
Duchamp Ernest 3 2010-02-12 framboises 12.20 2.00 29.18

Requête en français : donner le total TTC des achats de Mr Dupond Marcel

Requête en SQL :

SELECT client.nom, client.prenom, SUM( Round( ligneachat.prix * ligneachat.qte * 1.196, 2 ) )


AS ttc
FROM client, factureachat, ligneachat, produit
WHERE client.id = factureachat.client
AND factureachat.id = ligneachat.factureachat
AND ligneachat.produit = produit.id
AND client.nom LIKE "dupond"
AND prenom LIKE "marcel"
GROUP BY client.id
ORDER BY ttc DESC

nom prenom ttc


Dupond Marcel 80.50

Requête en français : donner le total TTC par facture des achat de Mr Dupond Marcel

Requête en SQL :

SELECT client.nom, client.prenom, factureachat.id, SUM( Round( ligneachat.prix * ligneachat.qte


* 1.196, 2 ) ) AS ttc
FROM client, factureachat, ligneachat, produit
WHERE client.id = factureachat.client
AND factureachat.id = ligneachat.factureachat
AND ligneachat.produit = produit.id
AND client.nom LIKE "dupond"
AND prenom LIKE "marcel"
GROUP BY factureachat.id
ORDER BY ttc DESC

nom prenom id ttc


Dupond Marcel 8 52.63
Dupond Marcel 9 27.87

Requête en français : donner le montant TTC des achats de framboises

Requête en SQL :

SELECT produit.designation, SUM (Round( ligneachat.prix * ligneachat.qte * 1.196, 2 )) AS ttc


FROM factureachat, ligneachat, produit
WHERE factureachat.id = ligneachat.factureachat
AND ligneachat.produit = produit.id
AND produit.designation LIKE "framboises"
GROUP BY produit.designation
designation ttc
framboises 60.28

Requête en français :Donner le montant TTC par facture des achats de framboises

Requête en SQL :

SELECT factureachat.id, produit.designation, SUM( Round( ligneachat.prix * ligneachat.qte *


1.196, 2 ) ) AS ttc
FROM factureachat, ligneachat, produit
WHERE factureachat.id = ligneachat.factureachat
AND ligneachat.produit = produit.id
AND produit.designation like "framboises"
GROUP BY factureachat.id
ORDER BY ttc DESC

id designation ttc
8 framboises 31.10
3 framboises 29.18

Requête en français : Donner les 3 meilleurs clients par ordre décroissant de total TTC

Requête en SQL :

SELECT client.nom, client.prenom, SUM( Round( ligneachat.prix * ligneachat.qte * 1.196, 2 ) )


AS ttc
FROM client, ligneachat, factureachat
WHERE client.id = factureachat.client
GROUP BY client.nom
ORDER BY ttc desc
LIMIT 0,3

nom prenom ttc


Dumont Louis 1554.33
Dubois Fernand 1036.22
Duchamp Ernest 1036.22

Requête en français : Donner les 5 meilleurs produits (top 5) par total TTC

Requête en SQL :

SELECT produit.designation, SUM( Round( ligneachat.prix * ligneachat.qte * 1.196, 2 ) ) AS ttc


FROM produit, ligneachat,factureachat
WHERE factureachat.id = ligneachat.factureachat
AND ligneachat.produit = produit.id
GROUP BY produit.designation
ORDER BY ttc desc
LIMIT 0,5
designation ttc
melons 127.37
céleri 63.51
framboises 60.28
tomate 57.16
oranges 40.67

Requête en français : Donner les 5 meilleurs produits (top 5) par total quantité

Requête en SQL :

SELECT produit.designation,ligneachat.qte as quantite


FROM produit, ligneachat, factureachat
WHERE factureachat.id = ligneachat.factureachat
AND ligneachat.produit = produit.id
GROUP BY produit.designation
ORDER BY quantite desc
LIMIT 0,5

designation quantite
maïs jaune 5.00
melons 4.00
oranges 4.00
tomate 2.00
pomme d'api 2.00