SELF JOIN
Catégorie : jointures
Jointure d'une table avec elle-même, utilisant des alias distincts. Utile pour les relations hiérarchiques ou comparer des lignes d'une même table.
📝 Syntaxe
SELECT t1.colonnes, t2.colonnes FROM table t1 INNER JOIN table t2 ON t1.colonne = t2.colonne_liee💡 Exemples
SELECT e1.nom AS employe, e2.nom AS manager FROM employes e1 INNER JOIN employes e2 ON e1.manager_id = e2.id→ Liste des employés avec leur manager
🎯 Exercice
Trouver les paires d'élèves nés le même jour (table: élèves, colonne: date_naissance)
Voir la solution
SELECT e1.nom, e2.nom FROM élèves e1 INNER JOIN élèves e2 ON e1.date_naissance = e2.date_naissance AND e1.id < e2.id⚠️ Pièges courants
- Oublier d'utiliser des alias différents rend la requête ambiguë
- Mauvaise condition ON peut créer des boucles infinies ou des résultats incorrects
