JOIN (INNER und LEFT)

Kombiniere Zeilen aus zwei Tabellen, wenn ein Schlüssel übereinstimmt. Ein INNER JOIN behält nur die Treffer; ein LEFT JOIN behält jede Zeile der linken Tabelle.

Syntax

SELECT … FROM a JOIN b ON a.key = b.key;
SELECT … FROM a LEFT JOIN b ON a.key = b.key;

Beispiel

SELECT c.last_name, o.order_date FROM customers AS c JOIN orders AS o ON o.customer_id = c.customer_id;

Jede Bestellung mit dem Nachnamen des Kunden. Bestellungen ohne Kunden fallen weg.

Verwendete Tabellen: customers, orders. Probiere es unten in einer Lektion aus.

Häufige Fehler

  • Ohne ON-Bedingung entsteht ein Cross Join: jede Zeile wird mit jeder anderen Zeile gepaart.
  • Wenn du die rechte Tabelle in WHERE filterst, wird ein LEFT JOIN wieder zu einem INNER JOIN.

Übe es