Eine Datenbank in jedem Computersystem ist die Sammlung strukturierter oder unstrukturierter Daten, die zum Ausführen verschiedener Optionen wie Erstellen, Löschen usw. verwendet werden können. Diese Datenbank wird von einer speziellen Sprache namens verwaltet SQL . In der SQL-Sprache gibt es verschiedene Joins, mit denen Zeilen aus zwei oder mehr Tabellen aus der zugehörigen Spalte zusammengesetzt werden. Einige der Verbindungen sind Innere Verbindung , Links beitreten , Und Richtig beitreten . In diesem Artikel werden wir die Konzepte anhand von Beispielen untersuchen Links beitreten und Left Outer Join. Darüber hinaus gehen wir auch auf die wichtigsten Unterschiede ein.
Links beitreten
Left Join in der SQL-Sprache wird verwendet, um alle Daten oder Datensätze aus der linken Tabelle und die passenden Daten oder Datensätze aus der rechten Tabelle zurückzugeben. In dem Szenario, in dem es keine Übereinstimmung gibt, besteht der Join immer noch aus den Zeilen aus der linken Tabelle und zeigt die an NULL-Werte für die Spalten der rechten Tabelle.
Im Kontext der Abfrage finden Sie unten die Syntax des Left Join.
Syntax
SELECT columns FROM left_table
LEFT JOIN right_table ON
join_condition;
Lassen Sie uns nun den Left Join anhand eines einfachen Beispiels verstehen:
Beispiel:
1. Customer_Data-Tabelle:
| Kundennummer | Kundenname |
|---|---|
| 1 | Gaurav |
| 2 entspricht Java | Anjali |
| 3 | Ramesh |
2. Orders_Data-Tabelle:
| Auftragsnummer | Kundennummer | Auftragsdatum |
|---|---|---|
| 1 | 1 | 23.01.2023 |
| 2 | 1 | 03.02.2023 |
| 3 | 3 | 05.03.2023 |
| 4 | 4 | 10.04.2023 |
Abfrage für Left Join
SELECT Customer_Data.customer_id, Customer_Data.customer_name, Orders_Data.order_id, Orders_Data.order_date FROM Customers_Data LEFT JOIN Orders ON Customers_Data.customer_id = Orders_Data.customer_id;>
Ergebnis/Ausgabe
| Kundennummer | Kundenname | Auftragsnummer | Auftragsdatum |
|---|---|---|---|
| 1 | Gaurav | 1 Bourne wieder Shell | 23.01.2023 |
| 1 | Gaurav | 2 | 03.02.2023 Gray-Code |
| 2 | Anjali | NULL | NULL |
| 3 | Ramesh | 3 | 05.03.2023 |
Erläuterung
Im obigen Beispiel. Left Join schließt alle Zeilen aus der linken Tabelle ein ( Kundendaten ) und ordnete sie den entsprechenden Zeilen der rechten Tabelle zu ( Orders_Data ). Hier hat Kunde Gaurav 2 Bestellungen, Anjali hat keine Bestellungen (NULL) und Ramesh hat 1 Bestellung.
Linke äußere Verbindung
Das Konzept von Linke äußere Verbindung ist dem Left Join ähnlich und gleich, und beide Begriffe werden austauschbar verwendet. Das hier verwendete Schlüsselwort ist Äußere , was optional ist und auch keinen Einfluss auf das Ergebnis hat.
Sehen wir uns die Syntax von Left Outer Join an:
Syntax
Spalten auswählen
VON left_table
LEFT OUTER JOIN right_table ON
join_condition;
Beispiel:
Betrachten wir die gleichen Tabellen, die im obigen Left-Join-Beispiel verwendet wurden:
Abfrage nach Left Outer Join
SELECT Customer_Data.customer_id, Customer_Data.customer_name, Orders_Data.order_id, Orders_Data.order_date FROM Customers_Data LEFT OUTER JOIN Orders ON Customers_Data.customer_id = Orders_Data.customer_id;>
Ergebnis/Ausgabe
| Kundennummer | Kundenname | Auftragsnummer | Auftragsdatum |
|---|---|---|---|
| 1 | Gaurav | 1 | 23.01.2023 |
| 1 | Gaurav | 2 | 03.02.2023 |
| 2 Was ist eine alphabetische Zahl? | Anjali | NULL | NULL |
| 3 | Ramesh | 3 | 05.03.2023 |
| 4 | NULL | NULL | NULL |
Erläuterung
Im obigen Beispiel werden nicht übereinstimmende Datensätze aus der rechten Tabelle ( Orders_Data ) sind enthalten und für die rechten Tabellenspalten werden NULL-Werte angezeigt. Somit ist der Kunde mit „ Kundennummer ' 4 im Orders_Data Tabelle, die keinen passenden Datensatz enthält Kundendaten Die Tabelle ist ebenfalls im Ergebnissatz enthalten und die NULL-Werte werden angezeigt, was in der Left-Join-Bedingung nicht angezeigt wurde.
Unterschied zwischen Left Join und Left Outer Join
| Parameter | Links beitreten | Äußerer Join |
|---|---|---|
| Passende Datensätze dateformat.format | Beim Left Join werden passende Datensätze aus der rechten Tabelle einbezogen. | Beim Left Outer Join werden übereinstimmende Datensätze aus den rechten Tabellen einbezogen. |
| Nicht übereinstimmende Datensätze | Beim Left Join werden nicht übereinstimmende Datensätze aus der Tabelle ganz rechts ausgeschlossen. | Beim Left Outer Join werden nicht übereinstimmende Datensätze aus der rechten Tabelle einbezogen und der NULL-Wert für die rechten Tabellenspalten angezeigt. |
| Schlüsselwort beitreten | LINKS BEITRETEN | LINKE ÄUSSERE VERBINDUNG |
| Nullwerte | Für die rechten Tabellenspalten werden keine NULL-Werte angezeigt. | Für die rechten Tabellenspalten werden NULL-Werte angezeigt, falls keine Übereinstimmung vorliegt. |
| Syntax | SELECT columns FROM left_table LEFT JOIN right_table ON join_condition; | SELECT columns FROM left_table LEFT OUTER JOIN right_table ON join_condition; |
FAQs zu Left Join und Left Outer Join
1. Wann sollten wir einen Left Join verwenden?
Left Join sollte verwendet werden, wenn wir alle Zeilen aus der Tabelle ganz links zurückgeben müssen, auch wenn es in der Tabelle ganz rechts keine passenden Zeilen gibt. Dies ist in dem Szenario nützlich, in dem wir alle Daten aus der linken Tabelle auflisten möchten, unabhängig davon, ob sie Daten in der rechten Tabelle enthalten.
2. Welche Vorteile bietet die Verwendung von Left Join?
Die Verwendung von Left Join bietet verschiedene Vorteile. Dadurch können wir möglicherweise alle Daten in der linken Tabelle anzeigen, auch wenn in der rechten Tabelle keine Daten vorhanden sind. Dies kann für Auditing-Aufgaben genutzt werden.
3. Erklären Sie die Ergebnisse von Left Outer Join.
Die Ergebnisse von Left Outer Join bestehen aus Zeilen aus der linken Tabelle und auch den passenden Zeilen aus der rechten Tabelle. Falls es in der rechten Tabelle keine passenden Zeilen gibt, werden die entsprechenden Spalten im Ergebnissatz als NULL angezeigt.
4. Können wir die ORDER BY-Klausel zusammen mit Left Outer Join verwenden?
Ja, wir können die ORDER BY-Klausel zusammen mit Left Outer Join in der Abfrage verwenden. Dadurch werden die Ergebnisse der Verknüpfung wie bei jeder anderen Abfrage sortiert.