LEFT JOIN
Kurs SQL · Wyjaśnienie, przykłady, oczekiwany wynik i ćwiczenie.
LEFT JOIN zachowuje wiersze z lewej tabeli nawet bez dopasowania.
Jak to działa?
Jeżeli użytkownik nie ma zamówienia, pola z prawej tabeli będą miały wartość NULL. To przydatne przy szukaniu brakujących relacji.
Przykład 1 — poznaj zapis
SELECT u.name, o.id AS order_id
FROM users AS u
LEFT JOIN orders AS o ON o.user_id = u.id;
Wynik zawiera także użytkowników bez zamówień.
Przeczytaj kod linijka po linijce
SELECT u.name, o.id AS order_idWybieramy kolumny lub obliczenia, które mają trafić do wyniku.FROM users AS uWskazujemy tabelę źródłową.LEFT JOIN orders AS o ON o.user_id = u.id;Łączymy dane po pasujących kluczach.
Wszyscy użytkownicy; dla osoby bez zamówień order_id jest NULL.
Przykład 2 — podobny problem, inne dane
Teraz przyjrzyj się drugiemu przykładowi. Zwróć uwagę na to, co zmieniło się w kodzie, a co w wyniku. Spróbuj przewidzieć rezultat przed przeczytaniem odpowiedzi.
SELECT u.name FROM users u LEFT JOIN orders o ON o.user_id = u.id WHERE o.id IS NULL;
Użytkownicy bez zamówień.
Wróć do pierwszego przykładu, zmień jedną wartość i spróbuj samodzielnie przewidzieć wynik. Następnie uruchom kod i porównaj rezultat. W ten sposób nauczysz się nie tylko przepisywać instrukcje, ale rozumieć ich działanie.
Spróbuj samodzielnie
Znajdź użytkowników bez zamówień przez WHERE o.id IS NULL.
Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.