ConsigneAffiche le nom et la note des etudiants dont la note dépasse la moyenne générale (calcule cette moyenne avec une sous-requête). Colonnes : nom, note.
Une sous-requête est une requête à l'intérieur d'une autre, entre parenthèses. Quand elle ne dépend pas de la requête principale, elle est calculée une fois pour toutes, avant elle. Syntaxe : where colonne > (select ... from ...);
Exemple (table produits) :
SELECT nom, prix FROM produitsWHERE prix > (SELECT AVG(prix) FROM produits);-> les produits au-dessus du prix moyenLa sous-requête calcule d'abord la moyenne, puis on compare chaque prix a ce résultat.
Attention : si la sous-requête reprend une colonne de la requête principale (on parle alors de sous-requête corrélée), elle ne peut pas être calculée à l'avance. PostgreSQL la relance pour chaque ligne, comme ici :
SELECT c.nom, (SELECT COUNT(*) FROM commandes cmd WHERE cmd.client_id = c.id) FROM clients c;Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →