Kombiniert Datensätze aus zwei Tabellen, wenn in einem gemeinsamen Feld übereinstimmende Werte vorhanden sind.
Syntax
FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1. field1Compopr Table2. field2
Der INNER JOIN-Vorgang setzt sich wie folgt zusammen:
| Teil | Beschreibung |
|---|---|
| Tabelle1, Tabelle2 | Die Namen der Tabellen, aus denen Datensätze zusammengefasst werden. |
| Feld1, Feld2 | Die Namen der verknüpften Felder. Wenn sie nicht numerisch sind, müssen die Felder denselben Datentyp aufweisen und die gleiche Art von Daten enthalten, aber sie müssen nicht denselben Namen haben. |
| Vergleichsoperator | Beliebiger relationaler Vergleichsoperator: "=", "<," ">," "<=", "=", oder> "<>." |
Hinweise
Sie können einen INNER JOIN-Vorgang in einer beliebigen FROM-Klausel verwenden. Dies ist die am häufigsten verwendete Verknüpfungsart. Innere Verknüpfungen kombinieren Datensätze aus zwei Tabellen, wenn in einem für beide Tabellen gemeinsamen Feld übereinstimmende Werte vorhanden sind.
Sie können INNER JOIN mit den Tabellen "Departments" und "Employees" verwenden, um alle Mitarbeiter in jeder Abteilung auszuwählen. Wenn Sie dagegen alle Abteilungen (auch wenn einigen keine Mitarbeiter zugewiesen sind) oder alle Mitarbeiter (auch wenn einige nicht einer Abteilung zugewiesen sind) auswählen möchten, können Sie einen LEFT JOIN- oder RIGHT JOIN-Vorgang verwenden, um einen äußeren Join zu erstellen.
Wenn Sie versuchen, Felder mit Memo- oder OLE-Objektdaten zu verknüpfen, tritt ein Fehler auf.
Sie können zwei beliebige numerische Felder gleicher Art miteinander verknüpfen. Sie können z. B. eine Verknüpfung anhand von "AutoNumber"- und "Long"-Feldern vornehmen, da diese gleicher Art sind. Es ist jedoch nicht möglich, Felder der Typen "Single" und "Double" zu verknüpfen.
Das folgende Beispiel zeigt, wie Sie die Tabellen "Categories" und "Products" anhand des Felds "CategoryID" verknüpfen können.
SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;
Im vorigen Beispiel ist "CategoryID" das verknüpfte Feld, wird aber nicht in die Abfrageausgabe einbezogen, da es nicht in der SELECT-Anweisung enthalten ist. Um das verknüpfte Feld einzuschließen, schließen Sie den Feldnamen in die SELECT-Anweisung ein, Categories.CategoryIDin diesem Fall .
Sie können auch mehrere ON-Klauseln in einer JOIN-Anweisung mit der folgenden Syntax verknüpfen:
SELECT-Felder
FROM Tabelle1 INNER JOIN Tabelle2
ON Table1. field1compoprtable2. field1 UND
ON Table1. field2compoprtable2. field2) ODER
ON Table1. field3compoprtable2. field3)];
Sie können JOIN-Anweisungen auch mithilfe der folgenden Syntax schachteln:
SELECT-Felder
FROM Tabelle1 INNER JOIN
(Table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON Tabelle3. field3compoprtablex. fieldx)]
ON Table2. field2compoprtable3. field3)
ON Table1. field1compoprtable2. field2;
Eine LEFT JOIN- oder RIGHT JOIN-Operation kann in einer INNER JOIN-Operation geschachtelt werden, wohingegen eine INNER JOIN-Operation nicht in einer LEFT JOIN- oder RIGHT JOIN-Operation geschachtelt werden kann.