0% ont trouvé ce document utile (0 vote)
21 vues4 pages

Application Langage SQL

Pour les développeurs

Transféré par

Fatimata Bousso
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
21 vues4 pages

Application Langage SQL

Pour les développeurs

Transféré par

Fatimata Bousso
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 PDF, TXT ou lisez en ligne sur Scribd

EXERCICE D’APPLICATION – LANGAGE SQL

1. La liste des vendeurs


SELECT *
FROM Vendeur;

2. La liste des potentiels acheteurs


SELECT *
FROM Acheteur;

3. La liste de tous les articles d’une boutique


SELECT Articles.*
FROM Articles
LEFT JOIN Boutique ON Articles.ninea = Boutique.ninea;

4. La liste de toutes les boutiques


SELECT *
FROM Boutique;

5. Les articles qui ont été achetés


SELECT DISTINCT Articles.*
FROM Articles
LEFT JOIN Achat ON Articles.numArt = Achat.numArt
WHERE Achat.numArt IS NOT NULL;

6. Les articles vendus


SELECT DISTINCT Articles.*
FROM Articles
RIGHT JOIN Vente ON Articles.numArt = Vente.numArt;
7. Les articles achetés et vendus par la même personne
SELECT DISTINCT Articles.*
FROM Articles
LEFT JOIN Achat ON Articles.numArt = Achat.numArt
LEFT JOIN Vente ON Articles.numArt = Vente.numArt
WHERE Achat.idAcheteur = Vente.numVendeur;

8. Les vendeurs qui vendent les mêmes articles


SELECT v1.numVendeur, v2.numVendeur, Articles.numArt
FROM Vente v1
LEFT JOIN Vente v2 ON v1.numArt = v2.numArt AND v1.numVendeur <> v2.numVendeur
LEFT JOIN Articles ON v1.numArt = Articles.numArt
LIMIT 0, 25;
9. Les acheteurs habitant Pikine
SELECT *
FROM Acheteur
WHERE adresse LIKE '%Pikine%';

10. Les vendeurs et acheteurs ayant la même adresse


SELECT *
FROM Acheteur
LEFT JOIN Vendeur ON Acheteur.adresse = Vendeur.adresse;

11. Les articles dont le stock est inférieur à 10


SELECT *
FROM Articles
WHERE quantitéStock < 10;
12. Les articles achetés au vendeur Abdou Faye
SELECT DISTINCT Articles.*
FROM Articles
JOIN Vente ON Articles.numArt = Vente.numArt
JOIN Vendeur ON Vente.numVendeur = Vendeur.numVendeur
WHERE Vendeur.nom = 'Faye' AND Vendeur.prenom = 'Abdou';

13. Les articles achetés à la boutique 18 et dont le prix_unitaire est égale à 15 000
SELECT DISTINCT Articles.*
FROM Articles
LEFT JOIN Boutique ON Articles.ninea = Boutique.ninea
WHERE Boutique.ninea = 18 AND Articles.prix_unitaire = 15000;

14. Le vendeur Doudou Gueye qui a vendu l’article puce orange 4g, à l’acheteur
Alimatou BA
SELECT *
FROM Vente
LEFT JOIN Vendeur ON Vente.numVendeur = Vendeur.numVendeur
LEFT JOIN Acheteur ON Vente.idAcheteur = Acheteur.idAcheteur
LEFT JOIN Articles ON Vente.numArt = Articles.numArt
WHERE Vendeur.nom = 'Doudou' AND Vendeur.prenom = 'Gueye'
AND Acheteur.nom = 'Alimatou' AND Acheteur.prenom = 'BA'
AND Articles.designation = 'puce orange 4g';

15. Les boutiques situées dans la même zone que leurs acheteurs et vendeurs
SELECT DISTINCT Boutique.*
FROM Boutique
LEFT JOIN Vendeur ON Boutique.adresse = Vendeur.adresse
LEFT JOIN Acheteur ON Boutique.adresse = Acheteur.adresse;
16. Les Vendeurs portant le nom Diop
SELECT *
FROM Vendeur
WHERE nom LIKE '%Diop%';

17. Les achats dont le montant est compris entre 150 000 et 250 000
SELECT Achat.*, Articles.designation, Articles.prix_unitaire,
(CAST(Achat.quantite AS UNSIGNED) * CAST(Articles.prix_unitaire AS
UNSIGNED)) AS montant
FROM Achat
LEFT JOIN Articles ON Achat.numArt = Articles.numArt
WHERE (CAST(Achat.quantite AS UNSIGNED) * CAST(Articles.prix_unitaire AS
UNSIGNED)) BETWEEN 150000 AND 250000;

18. Les articles dont le nom commence par C ou O


SELECT *
FROM Articles
WHERE designation LIKE 'C%' OR designation LIKE 'O%';

19. Les boutiques dont le chiffre d’affaire dépasse 1 000 000


SELECT *
FROM Boutique
WHERE chiffreAffaire > 1000000;

20. Les boutiques qui ont vendu beaucoup plus d’articles


SELECT Boutique.*, COUNT(Articles.numArt) AS total_articles
FROM Boutique
RIGHT JOIN Articles ON Boutique.ninea = Articles.ninea
GROUP BY Boutique.ninea
ORDER BY total_articles DESC;

Vous aimerez peut-être aussi