Les cuisines du perche sql

Disponible uniquement sur Etudier
  • Pages : 5 (1016 mots )
  • Téléchargement(s) : 0
  • Publié le : 14 avril 2011
Lire le document complet
Aperçu du document
Cas « Les cuisines du perche »
Partie A : Requêtes de projection et de sélection
1. Combien de plats existent par numéro de catégorie ?
SELECT COUNT(NumPlat) AS [Nb de plat], NumCat
FROM PLAT
GROUP BY NumCat;

2. Combien de plats existent par nom de catégorie?

SELECT COUNT(NumPlat) AS [NbPlat], NomCat
FROM PLAT, CATEGORIE
WHERE Plat.NumCat= CATEGORIE.Num cat
GROUP BY NomCAT;3. Quel est le menu le plus chers, le menu le moins chers et l’écart de prix entre les deux?

SELECT MAX(PrixMenu) AS [Menu le plus chers], MIN (Prix menu) AS [Menu le moins chers], Max (Prixmenu)- Min (Prixmenu) AS [Ecart de prix]
FROM Menu

4. Quel est le CA par nom de client ?

SELECT Nomclient, SUM([Qttcode]*[Prixmenu]) AS [CA par client]
FROM Client, Ligne Commande, Menu,Commande
WHERE commande.code client= client.code client
AND Commande.Numcommande= ligne commande.Numcommande
AND Ligne Commande.Nummenu= Menu.Nummenu
GROUP BY Nom client ;

5. Mm q°, mais en ne retenant que les clients qui ont un CA sup à 200 euros ?

Même sélection en rajoutant HAVING.
HAVING SUM([Qttcode]*[Prix menu])>200 euros ;
6. Combien de salariés ont été embauchés par année ?SELECT Years (date emb) AS[Année d’ancienneté], COUNT (*) AS [Nb de salariés]
FROM Cuisinier
GROUP BY YEARS (date d’emb) ;

7. Combien de menu comporte plus de 4 plats ?

SELECT Num menu
FROM Compose
GROUP BY Num menu
HAVING COUNT;

8. On désire connaître le nombre d’année d’ancienneté par cuisinier.

SELECT NOM cuisinier, INT ((NOW()-Date emb)/365) AS [Année d’ancienneté]FROM Cuisinier ;

9. Combien y a t-il de cuisiniers par cuisine et par année d’ancienneté ?

SELECT Num cuisinier, INT((NOW()-Dateemb)/365) AS [Année d’ancienneté]
COUNT (*)
AS [Nb de cuisinier]
FROM Cuisinier
GROUP BY Num cuisinier, INT((NOW()-Dateemb)/ 365) ;

Int = un calcul entre un intervalle

10. Combien de menus différents ont été livré selon un jour donné ?
11.Combien de plats doit-on faire par jour ?

SELECT COUNT (Nb de plat) AS [NB de plat à préparer], Date préparation
FROM Préparer
GROUP BY Date préparation

12. Quel est le prix moyen d’un menu?

SELECT MOY(Prix menu) AS [Prix moyen d’un menu]
FROM Menu ;

13. Quel est le code des clients qui ont commandé le menu numéro 1 ?

SELECT Code client, Num client
FROM COMMANDE, Ligne commandeWHERE Num menu=1
AND commande.Numcom = Ligne commande. Num Com ;

14. Quel est le nom des clients qui ont commandé le menu 1?

SELECT Code client,
FROM CLIENT, Commande, Ligne commande
WHERE commande.Numcom=Ligne commande.Numcom
AND Num Menu=1
AND Commande.codeclient=Client.codeclient ;

15. Quels sont les clients (nom) qui ont commandé des quantités supérieurs à 3 ?

SELECTNom client,
FROM CLIENT, Ligne commande, Commande
WHERE Client.codecleint = Commande.codeclient
AND Commande.numcommande=lignecommande.numcommande
AND Qtécom>3;

16. Quels sont les cuisiniers (noms) qui ont préparés des plats le 20/10/2003?

SELECT Nomcui
FROM Cuisinier, Preparer
WHERE Cuisine.numcuisine=Preparer.numcuisine
AND Datepréparation =#20/10/2003# ;

17. Quels sontles numéros et les prix des menus le 20/10/2003 ?

SELECT Num menu, Prix menu
FROM Menu, PREPARER, COMPOSER
WHERE MENU.numMenu = COMPOSER.numMenu
AND COMPOSER.NumPlat = PREPARER.numPlat
Date datepreparation=#20/10/2003#;

18. Quels sont les clients qui ont pris un menu supérieurs à 15 euros?

SELECT Code client
FROM CLIENT, COMMANDE, LIGNECOMMANDE, MENU, CLIENT
WHEREClient.codeClient = Commande.codeClient
AND Commande.Numcom = Ligne commande.Numcom
AND Ligne commande.NumMenu = Menu.NumMenu
AND Prix menu>15 ;

PARTIE B : Requêtes d’actions

Ajouter des donnés dans la base.

INSERT INTO Nom relation (attribut 1, attribut 2, attribut 3)
VALUES (Valeur 1, Valeur 2, Valeur 3);

Attention, il faut qu’il y ait le mm nb d’attribut et de valeur et il faut qu’ils...
tracking img