RIGHT JOIN
Es gibt alle Datensätze der rechten Tabelle (in diesem Fall
orders) zurück, auch wenn es keine Übereinstimmung in der linken Tabelle (customers) gibt.Wenn keine Übereinstimmung vorhanden ist, werden die fehlenden Werte aus der linken 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: Die Tabellen
customersundorderswerden verknüpft. - Alle Datensätze aus der rechten Tabelle: Der
RIGHT JOINgibt alle Bestellungen aus der Tabelleorderszurück, selbst wenn sie keinem Kunden zugeordnet sind. - Übereinstimmende Daten: Für Bestellungen, die einem Kunden zugeordnet sind (wie bei Alice und Bob), werden die entsprechenden Kundennamen angezeigt.
- Null-Werte für fehlende Kunden: Wenn eine Bestellung keinem Kunden zugeordnet ist (wie bei order_ID = 103), wird der Kundenname als
NULLangezeigt.
SELECT customers.name, orders.amount
FROM customers
RIGHT JOIN orders ON customers.customer_ID = orders.customer_ID;
| name | amount |
|---|---|
| Alice | 50 |
| Bob | 30 |
| NULL | 40 |