RIGHT JOIN i FULL JOIN

RIGHT JOIN zachowuje każdy wiersz prawej tabeli. FULL JOIN zachowuje niedopasowane wiersze z obu tabel.

Składnia

SELECT … FROM a RIGHT JOIN b ON a.key = b.key;
SELECT … FROM a FULL JOIN b ON a.key = b.key;
  • Gdy wiersz nie ma dopasowania, kolumny z drugiej tabeli są NULL.

Przykład

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

Każde zamówienie i każdy klient; niedopasowane strony pokazują NULL.

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

Typowe błędy

  • Warunek na prawej tabeli w WHERE usuwa wiersze z NULL-ami. Umieść go zamiast tego w ON.

Ćwicz to