Abde
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