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,
customersundorders. - Alle Datensätze aus der linken Tabelle: Der
LEFT JOINgibt alle Kunden aus der Tabellecustomerszurü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 |