Twoje Centrum Szkoleniowe

Nauczmy się dziś czegoś nowego!

Kurs programowania - SQL

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ę
Aby widzieć ocenę lekcji - Zaloguj się