Fasst bei Verwendung in einer FROM-Klausel Datensätze aus einer Quelltabelle zusammen.
Syntax
FROM Tabelle1 [ LEFT | RIGHT ] JOIN Tabelle2
ON Tabelle1.Feld1Vergleichsoperator Tabelle2.Feld2Die LEFT JOIN- und RIGHT JOIN-Operationen bestehen aus den folgenden Teilen:
Teil |
Beschreibung |
Tabelle1, Tabelle2 |
Die Namen der Tabellen, aus denen Datensätze zusammengefasst werden. |
Feld1, Feld2 |
Die Namen der verknüpften Felder. Die Felder müssen vom gleichen Datentyp sein und die gleiche Art von Daten enthalten, aber sie müssen nicht denselben Namen haben. |
Vergleichsoperator |
Ein beliebiger relationaler Vergleichsoperator: "=", "<", ">", "<=", ">=" oder "<>". |
Hinweise
Verwenden Sie eine LEFT JOIN-Operation, um einen Linke äußere Verknüpfung zu erstellen. Linke äußere Joins enthalten alle Datensätze aus der ersten (linken) der beiden Tabellen, selbst wenn es in der zweiten Tabelle (rechts) keine übereinstimmenden Werte für Datensätze gibt.
Verwenden Sie eine RIGHT JOIN-Operation, um einen Rechte äußere Verknüpfung zu erstellen. Rechte äußere Joins enthalten alle Datensätze aus der zweiten (rechten) der beiden Tabellen, selbst wenn es in der ersten Tabelle (links) keine übereinstimmenden Werte für Datensätze gibt.
Beispielsweise können Sie LEFT JOIN mit den Tabellen "Abteilungen" (links) und "Mitarbeiter" (rechts) verwenden, um alle Abteilungen auszuwählen, einschließlich der Abteilungen, denen keine Mitarbeiter zugewiesen sind. Um alle Mitarbeiter (einschließlich derjenigen, die keiner Abteilung zugewiesen sind) auszuwählen, verwenden Sie RIGHT JOIN.
Das folgende Beispiel zeigt, wie Sie die Tabellen "Categories" und "Products" im Feld "CategoryID" verknüpfen können. Die Abfrage erzeugt eine Liste aller Kategorien, einschließlich derjenigen, die keine Produkte enthalten:
SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;
In diesem Beispiel ist "CategoryID" das verknüpfte Feld, wird aber nicht in die Abfrageergebnisse einbezogen, da es nicht in der SELECT-Anweisung enthalten ist. Wenn Sie das verknüpfte Feld einbeziehen möchten, geben Sie den Namen des Felds in der SELECT-Anweisung ein – in diesem Fall Categories.CategoryID.
Wenn Sie eine Abfrage erstellen möchten, die nur Datensätze enthält, bei denen die Daten in den verknüpften Feldern identisch sind, verwenden Sie eine INNER JOIN-Operation.
-
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. Im Thema "INNER JOIN-Operation" erfahren Sie, wie Joins in anderen Joins geschachtelt werden.
-
Sie können mehrere ON-Klauseln verknüpfen. Im Thema "INNER JOIN-Operation" wird erläutert, wie das Verknüpfen von Klauseln funktioniert.
Wenn Sie versuchen, Felder mit Memo- oder OLE-Objektdaten zu verknüpfen, tritt ein Fehler auf.