Most można przejść także w drugą stronę. RIGHT JOIN to lustrzane odbicie
LEFT 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.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ą.FROM).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.