Zusammenfassung: In diesem Tutorial erfahren Sie mehr über die SQL Server LEFT JOIN
– Klausel und wie Sie damit Daten aus mehreren Tabellen abfragen können.
Einführung in die SQL Server LEFT JOIN Klausel
Mit der LEFT JOIN
Klausel können Sie Daten aus mehreren Tabellen abfragen. Es werden alle Zeilen aus der linken Tabelle und die übereinstimmenden Zeilen aus der rechten Tabelle zurückgegeben. Wenn in der rechten Tabelle keine übereinstimmenden Zeilen gefunden wurden, wird NULL
verwendet.,
Im Folgenden wird veranschaulicht, wie zwei Tabellen T1 und T2 mit der Klausel LEFT JOIN
verknüpft werden:
Code language: SQL (Structured Query Language) (sql)
In dieser Syntax sind T1 und T2 die linke bzw. rechte Tabelle.
Für jede Zeile aus der T1-Tabelle vergleicht die Abfrage sie mit allen Zeilen aus der T2-Tabelle. Wenn ein Zeilenpaar bewirkt, dass das Join-Prädikat TRUE
ausgewertet wird, werden die Spaltenwerte aus diesen Zeilen zu einer neuen Zeile kombiniert, die dann in der Ergebnismenge enthalten ist.,
Wenn eine Zeile aus der linken Tabelle (T1) keine übereinstimmende Zeile aus der T2-Tabelle enthält, kombiniert die Abfrage die Spaltenwerte der Zeile aus der linken Tabelle mit NULL
für jede Spalte Werte aus der rechten Tabelle.
Kurz gesagt, dieLEFT JOIN
– Klausel gibt alle Zeilen aus der linken Tabelle (T1) und übereinstimmende Zeilen oderNULL
– Werte aus der rechten Tabelle (T2) zurück.
Im Folgenden wird die LEFT JOIN
zweier Tabellen T1(1, 2, 3) und T2(A, B, C) dargestellt., Die LEFT JOIN
stimmt Zeilen aus der T1-Tabelle mit den Zeilen aus der T2-Tabelle unter Verwendung von Mustern ab:
In dieser Abbildung stimmt keine Zeile aus der T2-Tabelle mit der Zeile 1 aus der T1-Tabelle überein, daher wird NULL verwendet. Die Zeilen 2 und 3 aus der T1-Tabelle stimmen mit den Zeilen A bzw. B aus der T2-Tabelle überein.,
SQL Server LEFT JOIN example
Siehe die folgenden products
und order_items
Tabellen:
Jeder Verkaufsauftrag enthält ein Produkt. Die Verbindung zwischen order_items
und products
Tabellen ist die product_id
Spalte.,
Die folgende Anweisung verwendet die LEFT JOIN
– Klausel, um Daten aus den Tabellen products
und order_items
abzufragen:
Eine Liste von NULL
in der Spalte order_id
zeigt an, dass die entsprechenden Produkte noch nicht an einen Kunden verkauft wurden.
Es ist möglich, die WHERE
Klausel zu verwenden, um die Ergebnismenge zu begrenzen., Die folgende Abfrage gibt die Produkte zurück, die in keinem Kundenauftrag erscheinen:
Wie immer verarbeitet SQL Server die WHERE
Klausel nach der LEFT JOIN
Klausel.,
The following example shows how to join three tables: production.products
, sales.orders
, and sales.order_items
using the LEFT JOIN
clauses:
Here is the output:
SQL Server LEFT JOIN: conditions in ON vs., WHERE Klausel
Die folgende Abfrage findet die Produkte, die zur Bestell-ID 100 gehören:
Bewegen wir die Bedingung order_id = 100
zur ON
Klausel:
Die Abfrage gab alle Produkte zurück, aber nur die Bestellung mit der ID 100 enthält die zugehörigen Produktinformationen.,
Beachten Sie, dass für die INNER JOIN
– Klausel die Bedingung in der ON
– Klausel funktional äquivalent ist, wenn sie in der WHERE
– Klausel platziert wird.
In diesem Tutorial haben Sie gelernt, wie Sie mit der SQL Server LEFT JOIN
– Klausel Daten aus mehreren verwandten Tabellen abrufen.
Schreibe einen Kommentar