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