Les sous-requêtes
Notions théoriques
Les sous-requêtes sont des requêtes SQL imbriquées dans une autre requête.
Les sous-requêtes peuvent être très utiles pour résoudre des problèmes plus complexes qui nécessitent plusieurs étapes de traitement des données.
Les sous-requêtes peuvent être utilisées dans diverses parties d'une requête SQL, y compris le
SELECT
,FROM
,WHERE
etHAVING
clauses.
Une sous-requête est exécutée avant la requête principale et les résultats de la sous-requête sont utilisés par la requête principale pour son exécution. Ainsi, l'ordre d'exécution est de l'intérieur vers l'extérieur.
Exemple pratique
Imaginons que nous voulons trouver tous les livres qui ont plus de pages que la moyenne des pages de tous les livres. Pour cela, nous pouvons utiliser une sous-requête dans la clause WHERE
pour calculer d'abord la moyenne des pages, puis utiliser cette valeur pour filtrer les livres.
SELECT titre
FROM livres
WHERE nbpages > (SELECT AVG(nbpages) FROM livres);