SQL RIGHT JOIN

SQL RIGHT JOIN



DEFINICJA

RIGHT JOIN służy także do łączenia tabel. Dla lepszego zobrazowania procesu łączenia RIGHT JOIN wyobraźmy sobie sytuację gdzie mamy dwie tabele: tabela 1 (zwana dalej t1) po lewej stronie i tabela 2 (zwana dalej t2) po prawej stronie. Każda z tabel posiada pole (klucz) wg którego będziemy łączyć obie tabele: t1.klucz i t2.klucz (pamiętamy, że pola te muszą być tego samego typu). W przypadku zastosowania RIGHT JOIN przy złączeniu system weźmie wszystkie wartości z t2.klucz (tabela po prawej stronie polecenia RIGHT JOIN) i będzie próbował dopasować takie same wartości z t1.klucz (tabela po lewej stronie polecenie RIGHT JOIN). Jeśli ich nie znajdzie po lewej stronie (czyli po stronie t1) wpisze wartość NULL, oznaczającą brak dopasowania, brak wartości po stronie t1. Złączenie tabel następują po słówku FROM. W przypadku znalezienia dopasowania wartości po obu stronach (obu tabel) RIGHT JOIN i INNER JOIN powinny zwrócić takie same wyniki.
Po złączeniu mamy dwie możliwości. Jeżeli chcemy uzyskać wszystkie wartości z tabeli 2 + część wspólną (grafika poniżej) to korzystamy ze składni:

SQL RIGHT JOIN grafika

SQL RIGHT JOIN składnia

SELECT
nazwa_kolumny(kolumn)
FROM
tabela1 RIGHT JOIN tabela2 ON (tabela1.klucz = tabela2.klucz)

a jeśli chcemy uzyskać wszysktie wartości z tabeli 2 ale bez tych które stanowią część wspólną to oprócz złączenia RIGHT LEFT musimy szukać tych które po stronie tabeli 1 mają wartość NULL, czyli

SQL RIGHT JOIN składnia

SELECT
nazwa_kolumny(kolumn)
FROM
tabela1 RIGHT JOIN tabela2 ON (tabela1.klucz = tabela2.klucz)
WHERE
tabela2.klucz IS NULL