Vous avez du mal à écrire des requêtes SQL efficaces pour des analyses complexes?
Cela peut entraîner des résultats inexacts et une perte de temps lors de l’interrogation des bases de données.
Explorez les sous-requêtes et les opérateurs ensemblistes à travers des exercices concrets pour améliorer vos compétences SQL.
Appréhendez les fondamentaux du langage SQL pour savoir assimiler ses fonctions standards.
Exercices Pratiques de Sous-requêtes SQL
Pour vous familiariser avec les sous-requêtes, essayez de résoudre les exercices suivants :
Exercice 1 : Affichez les produits pour lesquels la quantité en stock est supérieure à la moyenne.
Exercice 2 : Affichez les clients et leurs commandes pour tous les produits livrés par un fournisseur qui habite à London.
Exercice 3 : Affichez les employés dont le salaire plus la commission est supérieure à la moyenne des salaires.ercices
- Solution pour l’Exercice 1 :
SELECT *
FROM produits
WHERE unites_stock > (SELECT AVG(unites_stock) FROM produits);
Explication :
Cette requête permet d’afficher tous les produits dont la quantité en stock (unites_stock) est supérieure à la moyenne de toutes les quantités en stock dans la table produits. La sous-requête calcule la moyenne, et la requête principale compare chaque quantité à cette moyenne.
Résultat affiché :
Cette requête retourne une liste de produits qui ont une quantité en stock plus élevée que la moyenne, par exemple :
- Solution pour l’Exercice 2
SELECT a.societe, b.no_commande
FROM clients AS a
JOIN commandes AS b ON a.code_client = b.code_client
JOIN details_commandes AS c ON b.no_commande = c.no_commande
WHERE c.ref_produit IN (
SELECT d.ref_produit
FROM produits d
JOIN fournisseurs e ON d.no_fournisseur = e.no_fournisseur
WHERE e.ville = 'London'
);
Explication :
Cette requête affiche les sociétés des clients et leurs numéros de commande pour les produits fournis par des fournisseurs basés à Londres. La sous-requête extrait les références de produit (ref_produit) qui appartiennent à des fournisseurs situés à Londres, puis la requête principale joint les tables pour obtenir les informations souhaitées.
Résultat affiché :
Cette requête pourrait retourner un résultat comme celui-ci :
- Solution pour l’Exercice 3 :
SELECT *
FROM fact.stagiaire.EMPLOYES
WHERE (SALAIRE + COALESCE(COMMISSION, 0)) > (SELECT AVG(SALAIRE) FROM fact.stagiaire.EMPLOYES);
Explication :
Cette requête sélectionne tous les employés dont la somme du salaire et de la commission est supérieure à la moyenne des salaires. La fonction COALESCE est utilisée pour traiter les cas où la commission pourrait être NULL, en la remplaçant par 0. La sous-requête calcule la moyenne des salaires pour la comparaison.
Résultat affiché :
Les résultats de cette requête afficheraient des employés dont le salaire et la commission totalisent un montant supérieur à la moyenne, par exemple :
Résumé des Opérateurs Ensemblistes SQL
Ce chapitre aborde les requêtes complexes en SQL, en mettant l’accent sur les opérateurs ensemblistes comme UNION, INTERSECT et EXCEPT, ainsi que sur les sous-requêtes. Les opérateurs ensemblistes permettent de combiner ou de comparer plusieurs ensembles de résultats, tandis que les sous-requêtes permettent d’effectuer des requêtes imbriquées pour des analyses plus approfondies. Des exercices pratiques illustrent l’application de ces concepts dans des scénarios réels. En maîtrisant ces techniques, vous pouvez créer des requêtes SQL plus puissantes et efficaces pour interroger des bases de données complexes.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment utiliser une sous-requête pour comparer des valeurs dans SQL?
Comment afficher les clients et leurs commandes pour des produits spécifiques dans SQL?
Comment combiner salaire et commission dans une requête SQL?
Comment tester une sous-requête individuellement dans SQL?
Quels sont les bénéfices des opérateurs ensemblistes dans SQL?
Conclusion
En comprenant et en appliquant les sous-requêtes et les opérateurs ensemblistes, vous pouvez considérablement améliorer vos compétences en SQL. Quelle technique aimeriez-vous approfondir pour optimiser vos requêtes SQL?