
JOIN jest jedną z podstawowych operacji, jakie wykonujemy pracując jako analityk, BI developer, czy po prostu mając jakikolwiek kontakt z relacyjną bazą danych. RIGHT JOIN jest jednym z możliwych joinów. W tym krótkim artykule pokażę Ci dokładnie jak on działa.
Co to jest JOIN?
JOIN jest operacją, która z 2 różnych tabel tworzy jedną, łącząc ich kolumny ze sobą. Połączenie odbywa się poprzez znalezienie wartości (a zatem całych rekordów (rzędów)), które odpowiadają użytej operacji logicznej np. a = b, a !=b, x > y.
RIGHT JOIN w SQL – czym jest i jak działa?
Czym jest zatem LEFT JOIN w SQL? Jest to rodzaj joina, który w rezultacie da wszystkie rekordy z drugiej tabeli i tylko te połączone z pierwszej.
Przykład nr 1
Spójrz na przykład poniżej. Mamy 2 tabele:


Do osób można przypisać zwierzęta używając kolumn person.pet_type_id
oraz pet.id
. Co za tym idzie, możemy zrobić right joina.
select
person.person
,pet.pet
from person
right join pet on person.pet_id = pet.id
Rezultat:

- Mamy wszystkie zwierzęta, ale nie mamy wszystkich ludzi (nie mamy Adama, bo jego ID nie dało się z niczym połączyć)
- “dog” i “cat” są dwa razy, bo złączenie miało miejsce dwa razy – join nie odpowiada za unikalne rekordy – od tego jest SELECT DISTINCT.
- Przy “horse” mamy NULL, ponieważ NULL nie jest równy NULLowi.
RIGHT JOIN a NULL
Można zapytać dlaczego przy “Adam” nie ma “horse”. Przecież NULL = NULL
prawda?
Nie, NULL
nie jest wartością, a jedynie informacją o braku wartości. Mówiąc prościej, NULL
nie równa się z niczym nawet z samym sobą.
Przykład nr 2
A teraz odwróćmy sytuację. Tabela pet będzie tą pierwszą (“lewą”).
select
person.person
,pet.pet
from pet
right join person on person.pet_id = pet.id
Rezultat:

- RIGHT JOIN spowodował, że wszystkie rekordy z drugiej (“prawej”) tabeli –
person
-zostały uwzględnione. - Z pierwszej tabeli –
pet
– mamy tylko te, które zostały złączone. - Tam gdzie nie było złączenia mamy
NULL
.
Jak widzisz RIGHT JOIN w SQL to nie czarna magia 😉
Operatory logiczne w SQL
Pamiętaj, że stosując join, możesz wykorzystać różne operatory logiczne, takie jak:
- < (np x < y czyli x jest mniejszy od y)
- > (np x > y czyli x jest większy od y)
- <= (np x < y czyli x jest mniejszy bądź równy y)
- >= (np x > y czyli x jest większy bądź równy y)
- = (np x = y czyli x jest równy y)
- != (np x != y czyli x jest inny niż y)
Podsumowanie 👨💻
Jak widzisz, RIGHT JOIN w SQL to nic strasznego.
Należy pamiętać, że po złączeniu mamy zawsze wszystkie rekordy z pierwszej tabeli, a z drugiej tylko te gdzie złączenie miało miejsce. Z NULLami trzeba zawsze uważać, o czym wspomniałem w rozdziale LEFT JOIN a NULL.
Jeżeli chcesz się zająć czymś bardziej wymagającym, np. Common Table Expressions – to obczaj ten artykuł. A, no i oczywiście pamiętaj, że RIGHT JOIN, to lustrzany odpowiednik LEFT JOIN 😉
To tyle w tym temacie. Analizuj jak najlepsi! 📊📈
Podobał Ci się ten artykuł?
Podziel się nim w Social Mediach:
>>> udostępnij go na LinkedIn i pokaż, że codziennie uczysz się czegoś nowego 💻
>>> wrzuć go na Facebooka, to się może przydać któremuś z Twoich znajomych 💗
>>> zrób story na Instagramie, niech się niesie 😎
>>> Przypnij sobie tą stronkę to zakładek, może się przydać w przyszłości 💡
Wolisz oglądać 📺 niż czytać – nie ma problemu 😉
>>> Obserwuj i oglądaj KajoData na YouTube