Joining Three or More Tables
Mimo, że każda Specyfikacja łączyć łączy tylko dwie tabele, klauzule FROM może zawierać wiele specyfikacji łączyć.Pozwala to wielu tabel, które mają zostać połączone w pojedynczą kwerendę.
The ProductVendor tabela of the AdventureWorks database offers a good example of a situation in which joining more than two tables is helpful. Poniżej Transact-SQL kwerenda powoduje znalezienie nazwy wszystkich produktów poszczególnych podkategorii oraz nazwy ich dostawców:
SELECT p.Name, v.Name
FROM Production.Product p
JOIN Purchasing.ProductVendor pv
ON p.ProductID = pv.ProductID
JOIN Purchasing.Vendor v
ON pv.VendorID = v.VendorID
WHERE ProductSubcategoryID = 15
ORDER BY v.Name
Here is the result set.
Name Name
LL Mountain Seat/Saddle Chicago City Saddles
ML Mountain Seat/Saddle Chicago City Saddles
HL Mountain Seat/Saddle Chicago City Saddles
LL Road Seat/Saddle Chicago City Saddles
ML Road Seat/Saddle Chicago City Saddles
HL Road Seat/Saddle Chicago City Saddles
LL Touring Seat/Saddle Chicago City Saddles
ML Touring Seat/Saddle Chicago City Saddles
HL Touring Seat/Saddle Chicago City Saddles
HL Touring Seat/Saddle Expert Bike Co
ML Touring Seat/Saddle Expert Bike Co
LL Touring Seat/Saddle Expert Bike Co
HL Road Seat/Saddle First Rate Bicycles
LL Mountain Seat/Saddle First Rate Bicycles
ML Mountain Seat/Saddle First Rate Bicycles
LL Road Seat/Saddle Hill's Bicycle Service
ML Road Seat/Saddle Hill's Bicycle Service
HL Mountain Seat/Saddle Hybrid Bicycle Center
(18 row(s) affected)
Należy zauważyć, że jedna z tabel w klauzula FROM ProductVendor, nie wpływa żadnych kolumn z wyniki. Ponadto żadne sprzężone kolumny ProductID i VendorID, w wynikach. Niemniej jednak łączyć to jest możliwe tylko przy użyciu ProductVendor w tabela pośrednich.
W środkowym tabeli łączyć, ProductVendor Tabela, można wywołać tabelę translacji lub pośrednich tabeli, ponieważ ProductVendor to punkt pośredni połączenia między innymi tabelami biorących udział w sprzężeniu.
W przypadku więcej niż jeden operator łączyć w tej samej instrukcja dołączenia więcej niż dwie tabele lub dołączyć więcej niż dwie pary z kolumn wyrażeń łączyć mogą być połączone AND lub OR.