LEFT JOIN – dołączanie wszystkich wierszy z lewej tabeli
LEFT JOIN
to rodzaj łączenia tabel w SQL, który pozwala dołączyć wszystkie rekordy z jednej tabeli (nazywanej „lewa tabela”), nawet jeśli nie ma odpowiadających rekordów w drugiej tabeli (prawej tabeli). LEFT JOIN
zwraca wszystkie wiersze z lewej tabeli, a jeśli w prawej tabeli nie ma odpowiadających rekordów, wartości w kolumnach z prawej tabeli będą NULL
.
LEFT JOIN
jest bardzo przydatny, gdy chcemy zobaczyć wszystkie dane z jednej tabeli i dodatkowo dodać informacje z innej tabeli, jeśli są dostępne. Dzięki temu nie tracimy żadnych rekordów z lewej tabeli.
Jak działa LEFT JOIN
W przypadku LEFT JOIN
zawsze otrzymujemy wszystkie wiersze z lewej tabeli. Jeśli w prawej tabeli nie ma dopasowanych wierszy, SQL wypełnia brakujące kolumny wartością NULL
. Dzięki temu możemy zobaczyć wszystkie dane z jednej tabeli, nawet jeśli nie mają swojego odpowiednika w drugiej tabeli.
Podstawowa składnia:
SELECT kolumny
FROM tabela1
LEFT JOIN tabela2
ON tabela1.wspolna_kolumna = tabela2.wspolna_kolumna;
tabela1
: lewa tabela, z której wszystkie wiersze będą zwracane.tabela2
: prawa tabela, której pasujące wiersze zostaną dołączone. Jeśli nie ma dopasowania, wartości będąNULL
.
Przykład LEFT JOIN
Załóżmy, że mamy dwie tabele: Uczniowie
i Klasy
. Tabela Uczniowie
zawiera informacje o uczniach, w tym identyfikator klasy (klasa_id
). Tabela Klasy
zawiera szczegóły dotyczące każdej klasy, takie jak jej identyfikator (id
) i nazwę klasy.
Przykład: Wyświetl listę uczniów wraz z nazwą klasy, jeśli jest dostępna.
SELECT Uczniowie.imie, Uczniowie.nazwisko, Klasy.nazwa
FROM Uczniowie
LEFT JOIN Klasy
ON Uczniowie.klasa_id = Klasy.id;
W tym przykładzie LEFT 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, w kolumnie nazwa
pojawi się NULL
. Dzięki temu możemy zobaczyć wszystkich uczniów, nawet tych, którzy nie są przypisani do konkretnej klasy.
Kiedy używać LEFT JOIN
LEFT JOIN
jest przydatny, gdy chcemy zobaczyć wszystkie rekordy z jednej tabeli, nawet jeśli nie mają odpowiedników w drugiej tabeli. Na przykład, możemy chcieć wyświetlić wszystkich uczniów, nawet tych, którzy nie są przypisani do żadnej klasy. LEFT JOIN
pozwala nam uzyskać taki widok, pokazując wszystkie dane z lewej tabeli i dołączając dane z prawej, jeśli są dostępne.
Testy przypięte do lekcji | |
---|---|
Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się |