Requete Sql
Rapports de Stage : Requete Sql. Recherche parmi 298 000+ dissertationsPar sandmarthe • 28 Mai 2015 • 818 Mots (4 Pages) • 967 Vues
A01 – Combien de plats existent par N° de Catégorie ?
SELECT PLAT.NumCat AS [Numéro de catégorie], count(PLAT.NomPlat) AS [Nombre de plat]
FROM PLAT, CATEGORIE
WHERE PLAT.NumCat=CATEGORIE.NumCat
GROUP BY PLAT.NumCat;
A02 – Combien de Plats existent apr nom de catégorie
SELECT CATEGORIE.LibCat AS [Numéro de Catégorie], COUNT (plat.NumPlat) AS [Nombre de plat]
FROM plat, CATEGORIE
WHERE plat.NumCat=CATEGORIE.Numcat
GROUP BY CATEGORIE.LibCat;
A03 – Quel est le menu le plus cher, le moins cher et l’écart de prix entre les 2
SELECT MAX(PrixMenu) AS [Prix Maximum], MIN(PrixMenu) AS [Prix Minimum], MAX(PrixMenu)-MIN(PrixMenu) AS [Ecart de prix entre les deux]
FROM Menu;
A04 – Quel est le CA par nom de client
SELECT SUM(PrixMenu*QtéCom) AS [Chiffre d'affaires], Client.NomCli
FROM menu, LIGNECOMMANDE AS LC, COMMANDE, CLIENT
WHERE menu.NumMenu=LC.NumMenu
AND LC.NumCom=COMMANDE.NumCom
AND COMMANDE.CodeCli=CLIENT.CodeCli
GROUP BY Client.NomCli;
A05 – Quel est le CA par nom de client qui ont un CA > 200€
SELECT SUM(PrixMenu*QtéCom) AS [Chiffre d'affaires], Client.NomCli
FROM menu, LIGNECOMMANDE AS LC, COMMANDE, CLIENT
WHERE menu.NumMenu=LC.NumMenu
AND LC.NumCom=COMMANDE.NumCom
AND COMMANDE.CodeCli=CLIENT.CodeCli
GROUP BY Client.NomCli
HAVING SUM(PrixMenu*QtéCom)>200;
A06 – Combien de salaries ont été embauchés par année?
SELECT COUNT(Cuisinier.NumCuisinier) AS [Nombre de salarié], YEAR(Cuisinier.DateEmb) AS [Date d'embauche]
FROM Cuisinier
GROUP BY YEAR(Cuisinier.DateEmb);
A07 – Combien de menus comportent + de 4 plats
Partie 1
SELECT NumMenu, COUNT(NumPlat)
FROM Compose
GROUP BY NumMenu
HAVING COUNT(NumPlat)>4;
Partie 2
SELECT COUNT(NumMenu) AS [Nombre de Menu]
FROM [A07 - Combien de menus comportent plus de 4 plats - Partie 1];
A08 – On desire connaitre le nombre d’années d’ancienneté par cuisinier
SELECT NomCuis, YEAR(now()) - YEAR(DateEmb) AS [Année d'ancienneté]
FROM cuisinier;
A09 – Combien y a t-il de cuisiniers par cuisine et par année et par années d’ancienneté
SELECT Count(NumCuisinier) AS [Nombre de Cuisinier], NumCuisine AS [N° Cuisine], YEAR(now()) - YEAR(DateEmb) AS [Années d'ancienneté]
FROM Cuisinier
GROUP BY NumCuisine, YEAR(now()) - YEAR(DateEmb);
A10 – Combien de menus différents ont été livré selon un jour donné
SELECT DateLivraison, count(NumMenu) AS [Numéro de Menu]
FROM (select DISTINCT NumMenu, DateLivraison
FROM LigneCommande, Commande
WHERE LigneCommande.NumCom=Commande.NumCom) AS [%$##@_Alias]
GROUP BY DateLivraison;
A11 – Combien de plat doit on fabriquer par jour
SELECT SUM(NombrePlats) AS [Nombre de Plats], DatePréparation
FROM Preparer
GROUP BY DatePréparation;
A12 – Quel est le prix moyen d’un menu ?
SELECT AVG(PrixMenu) AS [Prix moyen par Menu]
FROM Menu;
B01 – Quel est le code des clients qui ont commandé le menu N°1 (Imbriquée)
SELECT CodeCli
FROM COMMANDE
WHERE NumCom IN
(SELECT LigneCommande.NumCom
FROM LigneCommande
WHERE NumMenu=1);
B02 – Quel est le nom des clients qui ont commandé le menu N°1 (Imbriquée)
SELECT NomCli
FROM Client
WHERE Client.CodeCli IN
(SELECT CodeCli
FROM COMMANDE
WHERE NumCom IN
(SELECT LigneCommande.NumCom
FROM LigneCommande
WHERE NumMenu=1;));
B03 – Quel est le nom du responsable de l’atelier où travaille Ménardeau ?
SELECT C1.NomCuis AS [Nom du cuisinier responsable de la cuisine n°1 ]
FROM CUISINIER AS C1, ATELIERCUISINE AS A1, CUISINIER AS C2, ATELIERCUISINE AS A2
WHERE C1.NumCuisinier = A1.NumCuisinier
AND A2.NumCuisine = C2.NumCuisine
...