Freigeben über


Verknüpfen von drei oder mehr Tabellen

Obwohl Verknüpfungsspezifikationen jeweils nur zwei Tabellen verknüpfen können, ist es möglich, dass FROM-Klauseln mehrere Verknüpfungsspezifikationen enthalten. Auf diese Weise können viele Tabellen für eine einzige Abfrage verknüpft werden.

Die ProductVendor-Tabelle der AdventureWorks-Datenbank bietet ein anschauliches Beispiel für eine Situation, in der die Verknüpfung von mehr als zwei Tabellen hilfreich ist. Die folgende Transact-SQL-Abfrage findet die Namen aller Produkte einer bestimmten Unterkategorie und die Namen der Hersteller dieser Produkte:

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

Dies ist das Resultset.

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)

Beachten Sie, dass eine der Tabellen in der FROM-Klausel, nämlich ProductVendor, keine Spalten zu den Ergebnissen beiträgt. Zudem wird keine der verknüpften Spalten ProductID und VendorID in den Ergebnissen angezeigt. Diese Verknüpfung ist jedoch nur möglich, wenn ProductVendor als eine Zwischentabelle verwendet wird.

Die mittlere Tabelle der Verknüpfung (die ProductVendor-Tabelle) kann als Übersetzungs- oder Zwischentabelle bezeichnet werden, da ProductVendor als Bindeglied zwischen den anderen Tabellen fungiert, die an der Verknüpfung beteiligt sind.

Wenn es in einer Anweisung mehrere Verknüpfungsoperatoren gibt, um mehr als zwei Tabellen oder mehr als zwei Spaltenpaare zu verknüpfen, können die Verknüpfungsausdrücke mit AND oder OR verbunden werden.