0% ont trouvé ce document utile (0 vote)
11 vues5 pages

Requêtes SQL pour Gestion de Produits

Le document présente différentes requêtes SQL avec des clauses comme SELECT, FROM, WHERE, ORDER BY, GROUP BY, HAVING pour interroger et manipuler des données stockées dans des tables relationnelles.

Transféré par

sarah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues5 pages

Requêtes SQL pour Gestion de Produits

Le document présente différentes requêtes SQL avec des clauses comme SELECT, FROM, WHERE, ORDER BY, GROUP BY, HAVING pour interroger et manipuler des données stockées dans des tables relationnelles.

Transféré par

sarah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi