Tuesday, August 23, 2022

LEFT JOIN, RIGHT JOIN Operationen

Kombiniert Quelltabellendatensätze, wenn sie in einer beliebigen FROM-Klausel verwendet werden.

Syntax

VON Tabelle1 [ LINKS | RECHTS ] JOIN table2
ON Tabelle1.Feld1 compopr Tabelle2.Feld2

Die Operationen LEFT JOIN und RIGHT JOIN haben folgende Teile:

Teil

Beschreibung

Tabelle1 , Tabelle2

Die Namen der Tabellen, aus denen Datensätze kombiniert 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 den gleichen Namen haben.

Kompr

Beliebiger relationaler Vergleichsoperator: „=", „<", „>", „<=", „>=" oder „<>".


Bemerkungen

Verwenden Sie eine LEFT JOIN-Operation, um einen Left Outer Join zu erstellen. Left Outer Joins umfassen alle Datensätze aus der ersten (linken) von zwei Tabellen, auch wenn es keine übereinstimmenden Werte für Datensätze in der zweiten (rechten) Tabelle gibt.

Verwenden Sie eine RIGHT JOIN-Operation, um einen Right Outer Join zu erstellen. Right Outer Joins umfassen alle Datensätze aus der zweiten (rechten) von zwei Tabellen, auch wenn es keine übereinstimmenden Werte für Datensätze in der ersten (linken) Tabelle gibt.

Beispielsweise könnten Sie LEFT JOIN mit den Tabellen „Departments" (links) und „Employees" (rechts) verwenden, um alle Abteilungen auszuwählen, einschließlich derjenigen, denen keine Mitarbeiter zugewiesen sind. Um alle Mitarbeiter auszuwählen, auch diejenigen, die keiner Abteilung zugeordnet sind, würden Sie RIGHT JOIN verwenden.

Das folgende Beispiel zeigt, wie Sie die Tabellen „Kategorien" und „Produkte" im Feld „KategorieID" verknüpfen können. Die Abfrage erzeugt eine Liste aller Kategorien, einschließlich derjenigen, die keine Produkte enthalten:

SELECT CategoryName, ProductName FROM Kategorien LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;

In diesem Beispiel ist CategoryID das verbundene Feld, aber es ist nicht in den Abfrageergebnissen enthalten, da es nicht in der SELECT-Anweisung enthalten ist. Um das verknüpfte Feld einzuschließen, geben Sie den Feldnamen in die SELECT-Anweisung ein – in diesem Fall Categories.CategoryID .

Um eine Abfrage zu erstellen, die nur Datensätze enthält, in denen die Daten in den verknüpften Feldern identisch sind, verwenden Sie eine INNER JOIN-Operation.

  • Ein LEFT JOIN oder ein RIGHT JOIN kann in einem INNER JOIN verschachtelt werden, aber ein INNER JOIN kann nicht in einem LEFT JOIN oder RIGHT JOIN verschachtelt werden. Sehen Sie sich die Erörterung der Verschachtelung im Thema INNER JOIN an, um zu sehen, wie Joins in anderen Joins verschachtelt werden.

  • Sie können mehrere ON-Klauseln verknüpfen. Sehen Sie sich die Erörterung der Klauselverknüpfung im Thema INNER JOIN an, um zu sehen, wie dies gemacht wird.

Wenn Sie versuchen, Felder zu verbinden, die Memo- oder OLE-Objektdaten enthalten, tritt ein Fehler auf.



No comments:

Post a Comment