Left Join


 

Left Outer Join = Left Join

Mit einem Left Join wird eine sogenannte linke Inklusionsverknüpfung erstellen. Linke Inklusionsverknüpfungen schließen alle Datensätze aus der ersten (linken) Tabelle ein, auch wenn keine entsprechenden Werte für Datensätze in der zweiten Tabelle existiert.

 

Beispiel mit den zwei Tabellen „Mitarbeiter“ und „Projekte“:

Das SQL-Statement

SELECT * FROM Mitarbeiter LEFT JOIN Projekte ON (Mitarbeiter.Nachname = Projekte.Nachname AND  Mitarbeiter.Vorname = Projekte.Vorname)

liefert:

 

Mitarbeiter.
Nachname
Mitarbeiter.
Vorname
Geburtsdatum Projekt Projekte.
Nachname
Projekte.
Vorname
Milke Lise 3.6.1934 NULL NULL NULL
Huber Karl 16.12.1964 NULL NULL NULL
Trunstein Helga 30.7.1956 Werbung Trunstein Helga

Hier werden also auch die Mitarbeiter angezeigt, die an keinem Projekt arbeiten. NULL bedeutet, daß das Feld keinen Eintrag enthält.

Häufig sieht man auch die ältere Schreibweise für einen Left Outer Join (z. B. bei Oracle):

SELECT * FROM Mitarbeiter, Projekte WHERE (Mitarbeiter.Nachname = Projekte.Nachname (+) AND Mitarbeiter.Vorname = Projekte.Vorname (+))

Das (+) kennzeichnet dabei die Spalten, bei denen Platz für NULL-Werte freigehalten werden muß. Bei einem Left Outer Join also bei den Spalten der rechten(!) Seite.