FULL JOIN – dołączanie wszystkich wierszy z obu tabel
FULL JOIN
, nazywany także FULL OUTER JOIN
, to sposób łączenia tabel w SQL, który pozwala wyświetlić wszystkie rekordy z obu tabel. FULL JOIN
zwraca wszystkie wiersze z jednej i drugiej tabeli — zarówno te, które mają dopasowanie w obu tabelach, jak i te, które nie mają. Jeśli nie ma dopasowania w jednej z tabel, w brakujących kolumnach pojawi się wartość NULL
.
FULL JOIN
jest przydatny, gdy chcemy uzyskać pełny zestaw danych, nawet jeśli niektóre wiersze nie mają odpowiedników w drugiej tabeli. Pozwala to zobaczyć pełny obraz informacji bez pomijania żadnych danych.
Jak działa FULL JOIN
FULL JOIN
łączy dane z dwóch tabel na podstawie wspólnych wartości w określonych kolumnach. Jeśli brakuje dopasowania w jednej z tabel, SQL wypełnia brakujące kolumny wartością NULL
. Dzięki temu możemy zobaczyć wszystkie dane, nawet jeśli nie wszystkie wiersze mają swoje odpowiedniki w obu tabelach.
Podstawowa składnia
SELECT kolumny
FROM tabela1
FULL JOIN tabela2
ON tabela1.wspolna_kolumna = tabela2.wspolna_kolumna;
tabela1
: Tabela, z której wszystkie rekordy będą zwrócone.tabela2
: Druga tabela, z której wszystkie rekordy będą zwrócone. Jeśli nie ma dopasowania, wartości będąNULL
.
Przykład FULL JOIN
Wyobraźmy sobie, że mamy dwie tabele: Uczniowie
i Klasy
. Tabela Uczniowie
zawiera informacje o uczniach, w tym identyfikator klasy (klasa_id
). Tabela Klasy
zawiera informacje o każdej klasie, takie jak jej identyfikator (id
) i nazwę klasy.
Przykład: Wyświetl listę wszystkich uczniów oraz wszystkich klas, wraz z informacją, do której klasy należy dany uczeń lub które klasy nie mają przypisanych uczniów.
SELECT Uczniowie.imie, Uczniowie.nazwisko, Klasy.nazwa
FROM Uczniowie
FULL JOIN Klasy
ON Uczniowie.klasa_id = Klasy.id;
W tym przykładzie FULL JOIN
łączy tabelę Uczniowie
z tabelą Klasy
na podstawie kolumny klasa_id
w tabeli Uczniowie
i kolumny id
w tabeli Klasy
. Jeśli dany uczeń nie jest przypisany do żadnej klasy, kolumna nazwa
będzie miała wartość NULL
. Podobnie, jeśli jakaś klasa nie ma przypisanych uczniów, kolumny dotyczące uczniów będą miały wartość NULL
.
Kiedy używać FULL JOIN
FULL JOIN
warto użyć, gdy chcemy zobaczyć wszystkie rekordy z obu tabel, niezależnie od tego, czy mają swoje odpowiedniki. Może być przydatny w sytuacjach, w których potrzebujemy pełnego obrazu danych, a brakujące informacje nie stanowią problemu. Jest to szczególnie przydatne w analizie, gdy chcemy zobaczyć wszystkie możliwe relacje między dwiema tabelami, nawet jeśli niektóre dane są niekompletne.
Testy przypięte do lekcji | |
---|---|
Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się |