Temat: 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ę |