13. SELECT * FROM Clients WHERE Entreprise='True' 14. SELECT NPro, Libelle, Prix FROM Produits WHERE Prix<10 15. SELECT COUNT(*) FROM Commandes 16. SELECT NClient, COUNT(*) FROM Commandes GROUP BY NClient 17. SELECT SUM(Quantite) FROM Details On obtient 3327 articles. 18. SELECT NProduit, AVG(Quantite) FROM Details GROUP BY NProduit 19. SELECT DISTINCT NClient FROM Commandes ORDER BY NClient \end{SQL} 20. SELECT NCli AS NClient FROM Clients EXCEPT SELECT NClient FROM Commandes Il reste les clients 20, 31, 33, 41, 44, 45. 21. SELECT * FROM Clients JOIN Commandes ON NCli=NClient 22. SELECT DISTINCT Nom, Adresse, Ville, Entreprise FROM Clients JOIN Commandes ON NClient=NCli WHERE Ville='Toulouse' 23. SELECT * FROM Clients JOIN (SELECT NCli AS NClient FROM Clients EXCEPT SELECT NClient FROM Commandes) ON NCli=NClient WHERE Ville='Toulouse' Il reste les clients 33, 41, 44. ou mieux !! SELECT Ville, count(*) FROM Clients JOIN Commandes ON NCli=NClient GROUP BY Ville 24. SELECT * FROM Produits JOIN Details ON NPro=NProduit 25. SELECT NPro, Libelle, SUM(Quantite) AS NComTotal FROM Produits JOIN Details ON NPro=NProduit GROUP BY NPro, Libelle 26. SELECT NPro, Libelle, SUM(Quantite) AS NComTotal FROM Produits JOIN Details ON NPro=NProduit GROUP BY NPro, Libelle HAVING NComTotal>100 \end{SQL} 27. SELECT NPro, Libelle, COUNT(*), MIN(Quantite), AVG(Quantite), Max(Quantite) FROM Produits JOIN Details ON NPro=NProduit GROUP BY NPro, Libelle \end{SQL} 28. SELECT NClient, SUM(Quantite) AS QTotale, COUNT(*) AS NbCom % FROM Details JOIN Commandes ON NCom=NCommande % GROUP BY NClient % HAVING QTotale>200 OR NbCom>10 % On pouvait aussi utiliser {UNION}. 28. SELECT AVG(NbProCom) FROM % (SELECT NCommande, SUM(Quantite) AS NBProCom % FROM Produits JOIN Details ON NPro=NProduit % GROUP BY NCommande) % On obtient une moyenne de $21,46$ articles commandés par commande. On peut % vérifier ce nombre car on connaît le nombre total d'articles commandés (3327) % que l'on divise par le nombre de commandes (155) obtenu par: % SELECT COUNT(*) FROM Commandes 29. SELECT NClient, Prix, Quantite FROM Produits JOIN Commandes JOIN Details ON NPro=NProduit AND NCom=NCommande 30. SELECT NClient, Prix*Quantite FROM Produits JOIN Commandes JOIN Details ON NPro=NProduit AND NCom=NCommande 31. SELECT NClient, SUM(Prix*Quantite) AS PrixTotal FROM Produits JOIN Commandes JOIN Details ON NPro=NProduit AND NCom=NCommande GROUP BY NClient 32. SELECT Nom, Adresse, Ville, SUM(Prix*Quantite) AS PrixTotal FROM Produits JOIN Commandes JOIN Details JOIN Clients ON NPro=NProduit AND NCom=NCommande AND NCli=NClient GROUP BY NClient 33. SELECT Nom, Adresse, Ville, SUM(Prix*Quantite)-Compte AS APayer FROM Produits JOIN Commandes JOIN Details JOIN Clients ON NPro=NProduit AND NCom=NCommande AND NCli=NClient GROUP BY NClient 34. SELECT Nom, Adresse, Ville, SUM(Prix*Quantite)-Compte AS APayer FROM Produits JOIN Commandes JOIN Details JOIN Clients ON NPro=NProduit AND NCom=NCommande AND NCli=NClient GROUP BY NClient HAVING APayer>0 On obtient un tableau avec 34 lignes