Was ist ein Left Join in SQL?
sobes.tech KI
Antwort von AI
Der LEFT JOIN (oder LEFT OUTER JOIN) in SQL wird verwendet, um Zeilen aus zwei Tabellen zu verbinden.
Das Ergebnis eines LEFT JOIN umfasst:
- Alle Zeilen aus der linken (ersten) Tabelle.
- Entsprechende Zeilen aus der rechten (zweiten) Tabelle, bei denen die Verknüpfungsbedingung erfüllt ist.
- Für Zeilen in der linken Tabelle, die keine Entsprechung in der rechten Tabelle haben, enthalten die Spalten der rechten Tabelle den Wert
NULL.
Syntax-Beispiel:
SELECT <Spaltenliste>
FROM <linke_Tabelle> AS L
LEFT JOIN <rechte_Tabelle> AS R ON L.<Verknüpfungsspalte> = R.<Verknüpfungsspalte>;
Funktionsweise:
Jede Zeile der linken Tabelle wird durchlaufen. Für jede Zeile wird nach Übereinstimmungen in der rechten Tabelle gesucht, basierend auf der Bedingung ON.
- Wenn Übereinstimmungen gefunden werden, wird die Zeile der linken Tabelle mit allen entsprechenden Zeilen der rechten Tabelle verbunden.
- Wenn keine Übereinstimmung gefunden wird, wird die Zeile der linken Tabelle in das Ergebnis aufgenommen, und die Spalten der rechten Tabelle werden mit
NULLgefüllt.
Visuelle Darstellung:
Stellen Sie sich zwei Datenmengen vor: Left (linke Tabelle) und Right (rechte Tabelle). LEFT JOIN gibt alle Elemente von Left zurück sowie die Elemente von Right, die eine Entsprechung in Left haben. Wenn in Left Elemente ohne Entsprechung in Right vorhanden sind, werden diese Elemente trotzdem im Ergebnis angezeigt, aber die entsprechenden Felder aus Right sind leer (NULL).
Vergleich mit anderen JOIN-Typen:
| JOIN-Typ | Beschreibung |
|---|---|
| INNER JOIN | Gibt nur Zeilen zurück, bei denen eine Übereinstimmung zwischen beiden Tabellen besteht. |
| LEFT JOIN | Gibt alle Zeilen aus der linken Tabelle und die entsprechenden Zeilen aus der rechten Tabelle zurück. NULL für nicht übereinstimmende Zeilen in der rechten Tabelle. |
| RIGHT JOIN | Gibt alle Zeilen aus der rechten Tabelle und die entsprechenden Zeilen aus der linken Tabelle zurück. NULL für nicht übereinstimmende Zeilen in der linken Tabelle. |
| FULL OUTER JOIN | Gibt alle Zeilen zurück, bei denen eine Übereinstimmung in einer der Tabellen besteht. NULL für nicht übereinstimmende Zeilen in beiden Tabellen. |
Der LEFT JOIN ist nützlich, wenn Sie eine vollständige Liste der Datensätze aus einer Tabelle erhalten und diese mit Informationen aus einer anderen Tabelle ergänzen möchten, auch wenn nicht alle Datensätze eine Entsprechung haben.