Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Joindre plusieurs tables en SQL

Lors de la jointure de plusieurs tables, la sortie de chaque jointure forme logiquement une table virtuelle qui entre dans la jointure suivante.

Ainsi, dans l'exemple de votre question, le résultat composite de la jonction des 5 premières tables serait traité comme la table de gauche.

Voir l'affiche de traitement logique des requêtes d'Itzik Ben-Gan pour en savoir plus à ce sujet.

Les tables virtuelles impliquées dans les jointures peuvent être contrôlées en positionnant le ON clause. Par exemple

SELECT *
FROM   T1
       INNER JOIN T2
         ON T2.C = T1.C
       INNER JOIN T3
                  LEFT JOIN T4
                    ON T4.C = T3.C
         ON T3.C = T2.C 

est équivalent à (T1 Inner Join T2) Inner Join (T3 Left Join T4)