← Retour à la référence SQL

Sous-requêtes

Catégorie : requetes_imbriquees

Requête imbriquée dans une autre requête. Peut être utilisée dans SELECT, FROM, WHERE, ou HAVING. Retourne un ensemble de résultats utilisé par la requête principale.

📝 Syntaxe

SELECT colonne FROM table WHERE colonne OPERATEUR (SELECT sous_requete)

💡 Exemples

SELECT nom FROM élèves WHERE note > (SELECT AVG(note) FROM élèves)
Dupont
Martin
SELECT nom, salaire FROM employes WHERE salaire = (SELECT MAX(salaire) FROM employes)
Durand | 75000

🎯 Exercice

Trouver les produits plus chers que le produit moyen de leur catégorie

Voir la solution
SELECT nom, prix, categorie FROM produits p1 WHERE prix > (SELECT AVG(prix) FROM produits p2 WHERE p2.categorie = p1.categorie)

⚠️ Pièges courants

  • Une sous-requête doit retourner une seule colonne dans WHERE
  • Les sous-requêtes corrélées peuvent être lentes sur grandes tables
Pixel