Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie die Oracle LEFT JOIN
– Klausel verwenden, um Daten aus mehreren Tabellen abzufragen.
Einführung in Oracle LEFT JOIN Klausel
Die folgende Anweisung veranschaulicht die Syntax der LEFT JOIN
Klausel beim Verbinden von zwei Tabellen T1
und T2
:
In dieser Abfrage T1
ist die linke Tabelle und T2
ist die rechte Tabelle.,
Die Abfrage vergleicht jede Zeile in der Tabelle T1
mit Zeilen in der Tabelle T2
.
Wenn ein Zeilenpaar aus beiden T1
und T2
– Tabellen das Join-Prädikat erfüllt, kombiniert die Abfrage Spaltenwerte aus Zeilen in beiden Tabellen und schließt diese Zeile in die Ergebnismenge ein.,
Falls eine Zeile in derT1
– Tabelle keine übereinstimmende Zeile in derT2
– Tabelle enthält, kombiniert die Abfrage Spaltenwerte aus der Zeile in derT1
– Tabelle mit einem Nullwert für jede Spalte in der rechten Tabelle, die in derSELECT
– Klausel angezeigt wird.
Mit anderen Worten, ein linker Join gibt alle Zeilen aus der linken Tabelle und übereinstimmende Zeilen aus der rechten Tabelle zurück.,
Oracle LEFT JOIN Beispiele
Siehe folgende orders
und employees
Tabellen in der Beispieldatenbank:
Die speichert die Kopfdaten des Kundenauftrags. Es hat diesalesman_id
Spalte, die auf dieemployee_id
Spalte in deremployees
Tabelle verweist.
Die Spalte salesman_id
ist nullfähig, was bedeutet, dass nicht alle Bestellungen einen Vertriebsmitarbeiter haben, der für die Bestellungen verantwortlich ist.,
Die folgende Anweisung ruft alle Aufträge und Mitarbeiterdaten von beiden orders
und employees
Tabellen:
Das folgende Bild zeigt das Ergebnis:
Das Ergebnis enthält alle Zeilen aus der Tabelle orders
. Für die Zeilen in der Tabelle orders
, die keine übereinstimmende Zeile in der Tabelle employees
haben, werden Nullwerte verwendet.,
Oracle LEFT JOIN – join-mehrere Tabellen
Die folgende Anweisung verwendet LEFT JOIN
Klauseln join drei Tabellen: orders
, employees
und customers
:
Oracle LEFT JOIN mit USING-Klausel
USING
– Klausel gibt an, welche Spalte test auf Gleichheit, wenn Sie Tabellen verbinden., Das Folgende zeigt die Syntax der LEFT JOIN
mit der USING
Klausel:
In dieser Anweisung müssen die in der USING
Klausel aufgeführten Spalten sowohl in T1
als auch in T2
Tabellen.,
Die Anweisung, die die obige USING
– Klausel verwendet, entspricht der folgenden Anweisung, die die ON
– Klausel verwendet:
Die folgende Anweisung zeigt, wie die LEFT JOIN
mit der USING
anweisung:
Mit dieser Anweisung wurden alle Kunden und ihre Bestellungen abgerufen., Für die Kunden, die keine Bestellungen aufgegeben haben, wird null für die Spalten der Tabelle orders verwendet, die in der Klausel SELECT
angezeigt werden: order_id
, status
und order_date
.
Bedingungen in ON vs. WHERE-Klausel
Die folgende Anweisung ruft die Bestell-und Verkäufer-Daten des Auftrags 58 ab.,
Wenn Sie nun die Bedingung von der WHERE
Klausel in die ON
Klausel der LEFT JOIN
:
In diesem Fall gibt die Abfrage alle Bestellungen zurück, aber nur die Bestellung, der die Verkäufer-Daten zugeordnet waren.,
Beachten Sie, dass für den inneren Join die Bedingung in der ON
den gleichen Effekt hat wie in der WHERE
Klausel.
In diesem Tutorial haben Sie gelernt, wie Sie die Oracle LEFT JOIN
– Klausel verwenden, um Daten aus mehreren Tabellen abzurufen.
- War dieses tutorial hilfreich?
- YesNo