Kursy i Poradniki IT - Adrian Kowalski
Kurs SQL dla Początkujących
O lekcji

Łączenie tabel pozwala na złączenie danych z różnych tabel na podstawie relacji między nimi. W SQL dostępnych jest kilka rodzajów złączeń (JOIN).

INNER JOIN

Zwraca rekordy, które mają dopasowanie w obu tabelach. Wiersze bez dopasowania są pomijane.

Skladnia:

SELECT kolumny FROM tabela1 INNER JOIN tabela2 ON warunek;

Przykład: Tabela Klienci:

ID Imię
1 Anna
2 Jan
 

Tabela Zamowienia:

ID Klient_ID Data
1 1 2025-01-01
 

Zapytanie:

SELECT Klienci.Imię, Zamowienia.Data
FROM Klienci
INNER JOIN Zamowienia ON Klienci.ID = Zamowienia.Klient_ID;

Efekt:

Imię Data
Anna 2025-01-01

LEFT JOIN

Zwraca wszystkie rekordy z lewej tabeli oraz pasujące rekordy z prawej tabeli. Brakujące dopasowania są uzupełniane wartościami NULL.

Skladnia:

SELECT kolumny FROM tabela1 LEFT JOIN tabela2 ON warunek;

Przykład: Wyświetl wszystkich klientów, nawet jeśli nie złożyli zamówienia:

SELECT Klienci.Imię, Zamowienia.Data
FROM Klienci
LEFT JOIN Zamowienia ON Klienci.ID = Zamowienia.Klient_ID;

RIGHT JOIN

Działa odwrotnie do LEFT JOIN – zwraca wszystkie rekordy z prawej tabeli oraz pasujące rekordy z lewej tabeli.

FULL OUTER JOIN

Zwraca wszystkie rekordy z obu tabel, wypełniając NULL w miejscach, gdzie brakuje dopasowań.

CROSS JOIN

Zwraca iloczyn kartezjański, czyli każdy rekord z jednej tabeli połączony z każdym rekordem drugiej tabeli. Bardzo rzadko używane.

SELECT * FROM tabela1 CROSS JOIN tabela2;