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);
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
A partir du schéma « Modèle Conceptuel de Données » MCD représenté ci-dessus, écrire les requêtes SQL pour répondre aux questions suivantes.
Télécharger le fichier 'cdi.sql' - Télécharger le MCD
Mission 1
Votre 1ère mission est de :
- trouver le nom de l'auteur qui a écrit le livre avec le plus grand nombre de pages.
Une solution
Vous devez être connecté pour voir le contenu.
Mission 2
Votre 2ème mission est de :
- trouver le titre du livre qui a le plus grand nombre de pages et l'auteur de ce livre.
Une solution
Vous devez être connecté pour voir le contenu.