Kombiniert Datensätze aus zwei Tabellen, wenn in einem gemeinsamen Feld übereinstimmende Werte vorhanden sind.
Syntax
FROM table1 INNER JOIN table2 ON table1. field1compopr table2. Feld2
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 Felder, die verknüpft werden. Sind sie nicht numerisch, müssen die Felder denselben Datentyp aufweisen und die gleiche Art von Daten enthalten, müssen jedoch nicht denselben Namen haben. |
| Vergleichsoperator | Ein 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. Im Gegensatz dazu können Sie zum Auswählen aller Abteilungen (auch wenn einigen keine Mitarbeiter zugewiesen sind) oder aller Mitarbeiter (auch wenn einige keiner Abteilung zugewiesen sind) verwenden, um eine äußere Verknüpfung 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 einzubeziehen, fügen 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:
Felder auswählen
FROM table1 INNER JOIN table2
ON table1. field1compoprtable2. Feld1 UND
ON table1. field2compoprtable2. Feld2) ODER
ON table1. field3compoprtable2. Feld3)];
Sie können JOIN-Anweisungen auch mithilfe der folgenden Syntax schachteln:
Felder auswählen
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3. field3compoprtablex. fieldx)]
ON table2. field2compoprtable3. Feld3)
ON table1. field1compoprtable2. Feld2;
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.