JOIN (INNER i LEFT)

Łącz wiersze z dwóch tabel tam, gdzie klucz pasuje. INNER JOIN zostawia tylko dopasowania; LEFT JOIN zachowuje każdy wiersz lewej tabeli.

Składnia

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

Przykład

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

Każde zamówienie z nazwiskiem klienta. Zamówienia bez klienta są pomijane.

Użyte tabele: customers, orders. Wypróbuj to w lekcji poniżej.

Typowe błędy

  • Zapomnienie o warunku ON tworzy złączenie krzyżowe: każdy wiersz łączy się z każdym innym.
  • Filtrowanie prawej tabeli w WHERE zamienia LEFT JOIN z powrotem w INNER JOIN.

Ćwicz to