Czym jest FULL OUTER JOIN
FULL OUTER JOIN łączy wyniki LEFT JOIN i RIGHT JOIN. Zwraca wszystkie wiersze z obu tabel, a jeśli nie ma pasujących wierszy, kolumny z brakującej tabeli będą miały wartość NULL. Często nie jest obsługiwany bezpośrednio przez niektóre systemy baz danych, ale można go emulować.
Przykład z życia
Chcesz wyświetlić listę wszystkich klientów i wszystkich zamówień, niezależnie od tego, czy klient złożył zamówienie, czy zamówienie zostało przypisane do klienta. Użyjesz FULL OUTER JOIN:
SELECT klienci.imie, klienci.nazwisko, zamowienia.id_zamowienia
FROM klienci
FULL OUTER JOIN zamowienia ON klienci.id_klienta = zamowienia.id_klienta;
To zapytanie wyświetli wszystkich klientów i wszystkie zamówienia. Jeśli klient nie złożył zamówienia, kolumna id_zamowienia będzie miała wartość NULL. Jeśli zamówienie nie zostało przypisane do klienta, kolumny imie i nazwisko będą miały wartość NULL.