Co to jest JOIN w SQL?
JOIN to klauzula SQL służąca do łączenia danych z dwóch lub więcej tabel w jednym zapytaniu. Stosuje się ją wtedy, gdy dane są rozdzielone między tabele, ale istnieje między nimi zależność, np. relacja 1..n.
Przykład: jedna tabela klienci zawiera dane klientów, a druga zamowienia zawiera ich zamówienia. Jeden klient może mieć wiele zamówień, więc tabele łączy się zwykle przez klucz główny i klucz obcy.
Podstawowa składnia
SELECT kolumny
FROM tabela1
JOIN tabela2
ON tabela1.klucz = tabela2.klucz_obcy;
Przykład:
SELECT klienci.imie, klienci.nazwisko, zamowienia.data_zamowienia
FROM klienci
JOIN zamowienia
ON klienci.id = zamowienia.id_klienta;
Zapytanie zwróci dane klienta oraz odpowiadające mu zamówienia.
Najważniejsze rodzaje JOIN
INNER JOIN- zwraca tylko rekordy pasujące w obu tabelach; samoJOINnajczęściej oznacza właśnieINNER JOIN,LEFT JOIN- zwraca wszystkie rekordy z lewej tabeli i pasujące rekordy z prawej,RIGHT JOIN- zwraca wszystkie rekordy z prawej tabeli i pasujące rekordy z lewej,FULL JOIN- zwraca rekordy z obu tabel, także te bez dopasowania, jeśli dany system SQL to obsługuje.
Ważne na egzaminie
Jeżeli pytanie dotyczy uzyskania odpowiadających sobie danych z dwóch tabel połączonych relacją, poprawną klauzulą jest JOIN. Odpowiedzi typu INNER LINK lub OUTER LINK są błędne, ponieważ w SQL używa się słowa JOIN, a nie LINK.