Sous-requêtes corrélées
Une sous-requête corrélée est une requête SQL imbriquée qui récupère des données à partir d’une table liée à la table de base.
Objectifs
- Comprendre les sous-requêtes corrélées
- Savoir comment utiliser les sous-requêtes corrélées dans SQL
Exemple
SELECT EMPLOYEES.nom, DEPARTMENTS.department_name FROM EMPLOYEES INNER JOIN DEPARTMENTS ON EMPLOYEES.department_id = DEPARTMENTS.id WHERE DEPARTMENTS.id = (SELECT department_id FROM DEPARTMENTS WHERE nombre_employes > 50)
Exercice
Écrivez une requête SQL qui retourne le nom des employés et leur département ainsi que le nombre total d’employés par département en utilisant une sous-requête corrélée.
Solution (cliquer pour afficher)
Afficher la solution
SELECT EMPLOYEES.nom, DEPARTMENTS.department_name, COUNT(EMPLOYEES.id) as nombre_total FROM EMPLOYEES INNER JOIN DEPARTMENTS ON EMPLOYEES.department_id = DEPARTMENTS.id GROUP BY EMPLOYEES.department_id
Pour aller plus loin
- Conseil : Utilisez les sous-requêtes corrélées avec précaution pour éviter la surcharge de la requête SQL.
- Le pouvoir des sous-requêtes corrélées est qu’elles permettent de regrouper plusieurs requêtes SQL en une seule et ainsi d’obtenir une plus grande efficacité
