Sobes.tech
Junior

Was ist ein Left Join in SQL?

sobes.tech KI

Antwort von AI

Der LEFT JOIN oder LEFT OUTER JOIN in SQL gibt alle Zeilen aus der "linken" Tabelle und die entsprechenden Zeilen aus der "rechten" Tabelle zurück. Wenn keine Übereinstimmung in der rechten Tabelle gefunden wird, werden die Werte der Spalten der rechten Tabelle auf NULL gesetzt.

  • Syntax:

    SELECT spaltenliste
    FROM tabelle1  -- Linke Tabelle
    LEFT JOIN tabelle2 ON tabelle1.spalte = tabelle2.spalte;
    
  • Ergebnis:

    • Alle Zeilen aus tabelle1.
    • Die entsprechenden Zeilen aus tabelle2.
    • Für Zeilen aus tabelle1, die keine Übereinstimmung in tabelle2 haben, enthalten die Spalten von tabelle2 NULL.
  • Beispiel:

    Angenommen, wir haben zwei Tabellen: Orders und Customers. Wir möchten eine Liste aller Bestellungen und die Informationen der Kunden, die sie gemacht haben. Wenn eine Bestellung keinen Kunden hat (z.B. gelöscht), möchten wir diese Bestellung trotzdem sehen.

    -- Tabelle Orders
    -- OrderID | CustomerID | OrderDate
    -- 1       | 101        | 2023-10-26
    -- 2       | 102        | 2023-10-26
    -- 3       | NULL       | 2023-10-27
    
    -- Tabelle Customers
    -- CustomerID | CustomerName
    -- 101        | Alice
    -- 102        | Bob
    
    SELECT
        O.OrderID,
        C.CustomerName
    FROM
        Orders AS O
    LEFT JOIN
        Customers AS C ON O.CustomerID = C.CustomerID;
    
    OrderID CustomerName
    1 Alice
    2 Bob
    3 NULL