Retour au cours

Jointure Externe Complète (FULL OUTER JOIN) et Auto-Jointures

Principes Fondamentaux des Bases de Données : De Zéro à Héros

Leçon 29 : Jointure Externe Complète (FULL OUTER JOIN) et Auto-Jointures

1. FULL OUTER JOIN

Le FULL OUTER JOIN (ou simplement FULL JOIN) renvoie toutes les lignes lorsqu'il y a une correspondance dans soit la table de gauche, soit la table de droite.

  • Il combine les résultats de LEFT JOIN et de RIGHT JOIN.
  • Là où il n'y a pas de correspondance, le côté non correspondant contient NULL.

Cas d'Usage

Identifier tous les points de données de deux tables et voir où ils se chevauchent, où la Table A n'a pas de correspondances, et où la Table B n'a pas de correspondances.

sql SELECT A.RegionName, B.SalesID FROM Regions A FULL JOIN Sales B ON A.RegionID = B.RegionID;

2. Auto-Jointures (Self Joins)

Une Auto-Jointure est simplement une jointure normale où une table est jointe à elle-même. Ceci est essentiel pour les structures de données hiérarchiques (comme les organigrammes).

Exemple : Employés et Managers

Dans une table Employees, la colonne ManagerID est en fait une Clé Étrangère qui référence l'EmployeeID (Clé Primaire) au sein de la même table.

sql SELECT E.Name AS EmployeeName, M.Name AS ManagerName FROM Employees E INNER JOIN Employees M -- Jointure de la table à elle-même ON E.ManagerID = M.EmployeeID; -- Liaison de la FK à la PK

Les Auto-Jointures nécessitent l'utilisation d'alias de tables distincts (E et M) pour différencier le rôle de la table dans la requête.