LEFT JOIN SQL

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. LEFT 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.

LEFT 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 pierwszej tabeli i tylko te połączone z drugiej.

Przykład nr 1

Spójrz na przykład poniżej. Mamy 2 tabele:

person
LEFT JOIN SQL TABLE
pet

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ć left joina.

select 
	person.person 
	,pet.pet 
from person
left join pet on person.pet_id = pet.id

Rezultat:

  • LEFT JOIN spowodował, że wszystkie rekordy z pierwszej (“lewej”) tabeli – person -zostały uwzględnione.
  • Z drugiej tabeli – pet – mamy tylko te, które zostały złączone.
  • Tam gdzie nie było złączenia mamy NULL.

LEFT 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
left join person on person.pet_id = pet.id

Rezultat:

left join w sql rezultat
  • Mamy wszystkie zwierzęta – pojawił się “horse”.
  • Zniknął Adam bo jego id nie dało się z niczym zmapować.
  • “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, bo, jak już wiesz, NULL nie jest równy NULLowi.

Jak widzisz LEFT 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, LEFT 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 pisać dobry SQL, to pamiętaj o poprawnym formatowaniu – więcej o nim tutaj. A, no i pamiętaj, że LEFT JOIN to dokładnie lustrzane odbicie RIGHT 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