LEFT JOIN
Ein LEFT JOIN gibt alle Datensätze der linken Tabelle (in diesem Fall
customers
) zurück, auch wenn es keine Übereinstimmung in der rechten Tabelle (orders
) gibt.Wenn keine Übereinstimmung vorhanden ist, werden die fehlenden Werte aus der rechten Tabelle als NULL angezeigt.
Tabelle: customers
customer_ID | name |
---|---|
1 | Alice |
2 | Bob |
3 | Carol |
Tabelle: orders
order_ID | customer_ID | amount |
---|---|---|
101 | 1 | 50 |
102 | 2 | 30 |
103 | 4 | 40 |
Wie funktioniert es
- Zwei Tabellen: Wir haben wieder die beiden Tabellen,
customers
undorders
. - Alle Datensätze aus der linken Tabelle: Der
LEFT JOIN
gibt alle Kunden aus der Tabellecustomers
zurück, auch wenn sie keine Bestellungen haben. - Übereinstimmende Daten: Für Kunden, bei denen es eine passende Bestellung gibt (wie bei Alice und Bob), werden die entsprechenden Werte angezeigt.
- Null-Werte für fehlende Bestellungen: Wenn ein Kunde keine Bestellung hat (wie Carol), wird der Wert der Bestellung als NULL angezeigt.
SELECT customers.name, orders.amount
FROM customers
LEFT JOIN orders ON customers.customer_ID = orders.customer_ID;
name | amount |
---|---|
Alice | 50 |
Bob | 30 |
Carol | NULL |