Exercice 44 / 60

Corrélation SQL

ConsigneAffiche les etudiants dont la note dépasse la moyenne des notes de LEUR propre ville (sous-requête corrélée). Colonnes : nom, prenom, note, ville. Trie par ville puis note décroissante.

📖 Cours

Une sous-requête corrélée référence la requête externe : elle est réévaluée pour chaque ligne.

Une sous-requête corrélée est rejouée pour chaque ligne de la requête externe, avec la valeur de cette ligne, au lieu d'être calculée une fois pour toutes
Une sous-requête corrélée est rejouée pour chaque ligne de la requête externe, avec la valeur de cette ligne, au lieu d'être calculée une fois pour toutes

alias sur LA Même table : Ici la table apparait deux fois : une pour la requête principale, une dans la sous-requête. On leur donne deux surnoms différents pour les distinguer, ex. from produits p a l'extérieur et from produits p2 a l'intérieur. Le lien p2.categorie = p.categorie compare les deux.

Exemple (table produits) :

SELECT p.nom, p.prix, p.categorieFROM produits pWHERE p.prix > ( SELECT AVG(p2.prix) FROM produits p2 WHERE p2.categorie = p.categorie);-> les produits au-dessus de la moyenne de leur propre categorie(p = ligne courante, p2 = toutes les lignes de la même categorie)

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →