Rejoindre MySQL
Rejoindre MySQL
Une jointure réflexive est une jointure normale, mais la table est jointe à elle-même.
Syntaxe d'auto-jointure
SELECT column_name(s)
FROM table1 T1, table1 T2
WHERE condition;
T1 et T2 sont des alias de table différents pour la même table.
Base de données de démonstration
Dans ce didacticiel, nous utiliserons la célèbre base de données d'exemples Northwind.
Voici une sélection du tableau "Clients":
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
Exemple d'auto-jointure MySQL
L'instruction SQL suivante correspond aux clients qui sont de la même ville :
Exemple
SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2,
A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;