Was ist Left Outer Join in SQL?
Heute werden wir den Left Outer Join besprechen. Left Outer Join oder Left Join ist in SQL dasselbe: Beim Left Outer Join werden alle Daten aus der linken Tabelle des Joins zurückgegeben. Gleichzeitig werden auch die Daten aus der Tabelle auf der rechten Seite nach dem Left Join abgeglichen.
Eine weitere Sache, die Sie beachten müssen. Wenn in der Tabelle auf der linken Seite Zeilen vorhanden sind und in der Tabelle auf der rechten Seite keine passenden Daten vorhanden sind, dann enthält die Ergebnismenge nur Nullwerte für diese Zeilen.
Left Outer Join Syntax
1
2 3 4 5 6 7 8 |
SELECT lefttable1.Spalte1,linkeTabelle1.Spalte2,linkeTabelle2.Spalte1,….
FROM linkeTabelle1 LEFT JOIN linkeTabelle2 ON linkeTabelle1.passende_Spalte = linkeTabelle2.passende_Spalte; linkeTabelle1: ERSTE TABELLE. lefttable2: ZWEITE TABELLE matching_column: COLUMN common TO BOTH the TABLES. |
Die obige Syntax ist wirklich einfach zu verstehen. Ich werde zwei Tabellen erstellen, eine für „BUCHKUNDEN“ und die andere für „BESTELLUNGEN“.Wie verwendet man einen Left Outer Join?Wir werden Ihnen ein praktisches Beispiel für einen Left Outer Join zeigen, wenn Sie mir folgen. Ich werde nicht darüber sprechen, wie man eine Datenbank oder eine Tabelle erstellt. Ich gehe davon aus, dass Sie zwei Tabellen erstellen können, wie wir unten zeigen:
TABLE A: BUCHKUNDEN
1
2 3 4 5 6 7 8 9 |
+—-+———-+—–+———–+———-+
| ID | NAME | ALTER | ADRESSE | SALARY | +—-+———-+—–+———–+———-+ | 1 | SAMUAL | 32 | Austin | 8000.00 | | 2 | Johnson | 25 | Ohio | 9500.00 | | 3 | Mathew | 23 | NEW York | 7000.00 | | 4 | Eva | 25 | Texas | 6500.00 | | 5 | April | 27 | San Marcos | 8500.00 | +—-+———-+—–+———–+———-+ |
TABLE B: BESTELLUNGEN
1
2 3 4 5 6 7 8 |
+—–+———————+—————–+——–+
| OID | DATE | BOOKCUSTOMER_ID | AMOUNT | +—–+———————+—————–+——–+ | 102 | 2019-12-08 00:00:00 | 3 | 4000 | | 100 | 2019-09-08 00:00:00 | 3 | 3500 | | 101 | 2019-08-20 00:00:00 | 2 | 6560 | | 103 | 2018-05-20 00:00:00 | 4 | 2060 | +—–+———————+—————–+——–+ |
So, jetzt werden wir diese zwei Tabellen mit Hilfe des Left Outer Join verbinden, um auf die Daten aus der Tabelle zuzugreifen.
SQL-Abfrage für Left Outer Join:
1
2 3 4 |
SQL> SELECT ID, NAME, AMOUNT
FROM BOOKCUSTOMERS LEFT JOIN ORDERS ON BOOKCUSTOMERS.ID = ORDERS.BOOKCUSTOMER_ID; |
In Zeile 1 wählen wir aus der Tabelle „BOOKCUSTOMERS“ Spalten aus, die wir in unserem Endergebnis anzeigen wollen.In Zeile 3 verwenden wir nun das Schlüsselwort „Left Join“, um Left Join in unserer Abfrage zu verwenden.
In der letzten Zeile gleichen wir Spalten aus Tabelle 1 mit der Spalte in Tabelle 2 ab. In unserem Fall gleichen wir „BUCHKUNDEN.ID“ mit „BESTELLUNGEN.BUCHKUNDEN_ID“ ab.
Ergebnis
Nun können Sie das Endergebnis unten sehen:
1
2 3 4 5 6 7 8 9 10 11 |
+—-+———-+——–+
| ID | NAME | AMOUNT | +—-+———-+——–+ | 1 | SAMUAL | NULL | | 2 | Johnson | 6560 | | 3 | Mathew | 4000 | | 3 | Mathew | 3500 | | 2 | John | 6560 | | 4 | Eva | 2060 | | 5 | April | NULL | +—-+———-+——–+ |