A.
Requêtes simples
SELECT RAYON.nom_rayon
FROM RAYON
SELECT RAYON.nom_rayon, RAYON.surface_rayon
FROM RAYON
SELECT *
FROM PRODUIT
SELECT PRODUIT.emplacement_rayon
FROM PRODUIT
SELECT DISTINCT PRODUIT.emplacement_rayon
FROM PRODUIT
SELECT PRODUIT.libelle_produit, PRODUIT.prix_courant, PRODUIT.prix_courant-0.5 as
prix_diminué
FROM PRODUIT
SELECT PRODUIT.libelle_produit, [Link]*PRODUIT.prix_courant as valeur_stock
FROM PRODUIT
B. Requêtes avec clause WHERE
SELECT RAYON.nom_rayon, RAYON.surface_rayon
FROM RAYON
WHERE RAYON.no_rayon=8
SELECT PRODUIT.libelle_produit, PRODUIT.prix_courant, PRODUIT.emplacement_rayon
FROM PRODUIT
WHERE PRODUIT.no_rayon=5
SELECT PRODUIT.no_produit, PRODUIT.libelle_produit
FROM PRODUIT
WHERE PRODUIT.prix_courant>15
SELECT *
FROM PRODUIT
WHERE [Link]>=20 AND [Link]<=30
SELECT VENTES_MENSUELLES.no_produit
FROM VENTES_MENSUELLES
WHERE VENTES_MENSUELLES.mois = 5 AND VENTES_MENSUELLES.année = 2018 AND
VENTES_MENSUELLES.montant_vente>2500
SELECT *
FROM PRODUIT
WHERE PRODUIT.no_rayon=4 OR PRODUIT.no_rayon=6
Ou
SELECT *
FROM PRODUIT
WHERE PRODUIT.no_rayon IN (4,6)
SELECT *
FROM PRODUIT
WHERE (PRODUIT.no_rayon=4 OR PRODUIT.no_rayon=6) AND PRODUIT.prix_courant <2.5
SELECT PRODUIT.libelle_produit, [Link]*PRODUIT.prix_courant as valeur_stock
FROM PRODUIT
WHERE PRODUIT.no_rayon=4 AND PRODUIT.emplacement_rayon= « HAUT »
SELECT PRODUIT.libelle_produit, PRODUIT.no_rayon, PRODUIT.prix_courant
FROM PRODUIT
WHERE ([Link]>30 AND [Link]<=50) AND
PRODUIT.emplacement_rayon= »BAS
SELECT PRODUIT.libelle_produit, PRODUIT.prix_courant, [Link]
FROM PRODUIT
WHERE (PRODUIT.no_rayon=1 AND PRODUIT.emplacement_rayon= « HAUT ») OR
(PRODUIT.no_rayon=2 AND PRODUIT.emplacement_rayon= « BAS »)
SELECT PRODUIT.libelle_produit, [Link]*PRODUIT.prix_courant as valeur_stock
FROM PRODUIT
WHERE PRODUIT.no_rayon=5 AND [Link]*PRODUIT.prix_courant>800
SELECT *
FROM PRODUIT
WHERE PRODUIT.no_rayon IN (1,3,4,6)
SELECT *
FROM PRODUIT
WHERE PRODUIT.libelle_produit LIKE « Y* »
SELECT *
FROM PRODUIT
WHERE [Link] IS NULL
C. Requêtes avec clause ORDER BY
SELECT PRODUIT.libelle_produit
FROM PRODUIT
ORDER BY PRODUIT.libelle_produit ASC
SELECT *
FROM PRODUIT
ORDER BY PRODUIT.prix_courant DESC
SELECT *
FROM PRODUIT
ORDER BY PRODUIT.no_rayon ASC, [Link] DESC
D. Requêtes Multi-Tables
SELECT RAYON.nom_rayon
FROM RAYON INNER JOIN PRODUIT ON RAYON.no_rayon=PRODUIT.no_rayon
WHERE PRODUIT.libelle_produit = « Yaourt »
SELECT PRODUIT.libelle_produit, PRODUIT.prix_courant
FROM PRODUIT INNER JOIN RAYON ON PRODUIT.no_rayon=RAYON.no_rayon
WHERE RAYON.no_resp=2
SELECT PRODUIT.libelle_produit
FROM PRODUIT INNER JOIN VENTES_MENSUELLES ON
PRODUIT.no_produit=VENTES_MENSUELLES.no_produit
WHERE VENTES_MENSUELLES.mois=6 AND VENTES_MENSUELLES.année=2018 AND
VENTES_MENSUELLES.montant_vente<2000
SELECT PRODUIT.libelle_produit
FROM PRODUIT INNER JOIN PROMOTION_PRODUIT ON
PRODUIT.no_produit=PROMOTION_PRODUIT.no_produit
WHERE PROMOTION_PRODUIT.reduction=0.1
SELECT PRODUIT.libelle_produit
FROM PRODUIT INNER JOIN PRODUIT_SUBSTITUTION ON
PRODUIT.no_produit=PRODUIT_SUBSTITUTION.no_produit
SELECT RAYON.no_resp
FROM RAYON INNER JOIN(
PRODUIT INNER JOIN VENTES_MENSUELLES ON
PRODUIT.no_produit=VENTES_MENSUELLES.no_produit)
ON RAYON.no_rayon=PRODUIT.no_rayon
WHERE VENTES_MENSUELLES.mois=5 AND VENTES_MENSUELLES.année=2018 AND
VENTES_MENSUELLES.montant_vente=3000
SELECT PRODUIT.libelle_produit, PRODUIT_1.libelle_produit
FROM PRODUIT INNER JOIN(
PRODUIT_SUBSTITUTION INNER JOIN PRODUIT AS PRODUIT_1 ON
PRODUIT_SUBSTITUTION.no_produit_remplacement=PRODUIT_1.no_produit)
ON PRODUIT.no_produit=PRODUIT_SUBSTITUTION.no_produit
SELECT PRODUIT.libelle_produit
FROM PRODUIT INNER JOIN(
PRODUIT_SUBSTITUTION INNER JOIN PRODUIT AS PRODUIT_1 ON
PRODUIT_SUBSTITUTION.no_produit_remplacement=PRODUIT_1.no_produit)
ON PRODUIT.no_produit=PRODUIT_SUBSTITUTION.no_produit
WHERE PRODUIT.prix_courant<PRODUIT_1.prix_courant
E. Requêtes avec expressions numériques
SELECT PRODUIT.libelle_produit, [Link]*PRODUIT.prix_courant as valeur_stock
FROM PRODUIT
ORDER BY [Link]*PRODUIT.prix_courant DESC
SELECT PRODUIT.libelle_produit, PRODUIT.prix_courant, PRODUIT.prix_courant*0.9 as
prix_minore
FROM PRODUIT
F. Requêtes avec fonctions agrégats
SELECT SUM(RAYON.surface_rayon) AS surface_totale
FROM RAYON
SELECT COUNT(PRODUIT.no_produit) AS nb_produit_dispo
FROM PRODUIT
SELECT SUM(VENTES_MENSUELLES.montant_vente) AS montant_total_vente
FROM VENTES_MENSUELLES
WHERE VENTES_MENSUELLES.no_produit=5
SELECT AVG(PRODUIT.prix_courant) AS prix_moyen
FROM PRODUIT
WHERE PRODUIT.no_rayon=2
G. Requêtes avec clause GROUP BY
SELECT AVG(PRODUIT.prix_courant) AS prix_moyen, PRODUIT.no_rayon
FROM PRODUIT
GROUP BY PRODUIT.no_rayon
SELECT COUNT(PROMOTION_PRODUIT.reduction) AS nb_promo,
PROMOTION_PRODUIT.no_produit
FROM PROMOTION_PRODUIT
GROUP BY PROMOTION_PRODUIT.no_produit
SELECT PROMOTION_PRODUIT.no_produit
FROM PROMOTION_PRODUIT
GROUP BY PROMOTION_PRODUIT.no_produit
HAVING COUNT(PROMOTION_PRODUIT.reduction)>=3
SELECT PROMOTION_PRODUIT.no_produit
FROM PROMOTION_PRODUIT
WHERE PROMOTION_PRODUIT.reduction>0.1
GROUP BY PROMOTION_PRODUIT.no_produit
HAVING COUNT(PROMOTION_PRODUIT.reduction)>=3
SELECT RAYON.no_resp
FROM RAYON
GROUP BY RAYON.no_resp
HAVING COUNT(RAYON.no_rayon)>=2
SELECT SUM(VENTES_MENSUELLES.montant_vente) as montant_total_annuel,
VENTES_MENSUELLES.no_produit, VENTES_MENSUELLES.année
FROM VENTES_MENSUELLES
GROUP BY VENTES_MENSUELLES.no_produit, VENTES_MENSUELLES.année
SELECT SUM(VENTES_MENSUELLES.montant_vente) AS montant_total,
VENTES_MENSUELLES.libelle_produit
FROM VENTES_MENSUELLES
GROUP BY VENTES_MENSUELLES.libelle_produit