Używamy cookies, żeby zwiększyć Twoje doświadczenia na stronie
CodeWorlds

RIGHT JOIN - lustrzane odbicie

Most można przejść także w drugą stronę. RIGHT JOIN to lustrzane odbicie

LEFT JOIN
.

Co robi RIGHT JOIN

A RIGHT JOIN B
zachowuje wszystkie wiersze z tabeli po prawej stronie (
B
), a z lewej (
A
) dokłada tylko dopasowane. Gdzie brak pary - NULL po lewej.

1SELECT a.nazwisko, k.tytul
2FROM ksiazki k
3RIGHT JOIN autorzy a ON k.autor_id = a.id;

To pokaże wszystkich autorów, nawet tych, których żadnej książki nie ma jeszcze w regale. Tabela po prawej (

autorzy
) jest "chroniona" - żaden jej wiersz nie zniknie.

RIGHT JOIN to LEFT JOIN naopak

W praktyce częściej używa się

LEFT JOIN
. Każde
RIGHT JOIN
można zamienić na
LEFT JOIN
, zamieniając tabele miejscami:

1-- te dwa zapytania dają ten sam wynik
2SELECT a.nazwisko, k.tytul
3FROM ksiazki k RIGHT JOIN autorzy a ON k.autor_id = a.id;
4
5SELECT a.nazwisko, k.tytul
6FROM autorzy a LEFT JOIN ksiazki k ON k.autor_id = a.id;

To, co było po prawej, dajemy po lewej - i zostaje "chronione" tak samo. Dlatego wielu skrybów trzyma się wyłącznie

LEFT JOIN
, by zawsze "chronić" tabelę zapisaną jako pierwszą.

Zapamiętaj

  • LEFT JOIN - chroni tabelę po lewej (
    FROM
    ).
  • RIGHT JOIN - chroni tabelę po prawej (
    JOIN
    ).

Obie dokładają NULL tam, gdzie nie ma pary. Wybór zależy tylko od tego, którą stronę chcemy zachować w całości.

Przejdź do CodeWorlds