JOIN w SQL
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Co to jest JOIN w SQL?
JOIN służy do łączenia danych z dwóch lub więcej tabel w zapytaniu SELECT. Najczęściej tabele łączy się na podstawie powiązania między kluczem obcym w jednej tabeli a kluczem głównym w drugiej tabeli.
W relacyjnych bazach danych dane są zwykle podzielone na kilka tabel. Przykład: tabela filmy może przechowywać informacje o filmach, a tabela rezyserzy dane reżyserów. Zamiast wpisywać nazwisko reżysera przy każdym filmie, w tabeli filmy zapisuje się identyfikator reżysera, np. rezyserID.
Składnia
SELECT kolumny
FROM tabela1
JOIN tabela2
ON tabela1.klucz_obcy = tabela2.klucz_glowny;
Warunek po ON określa, które rekordy z obu tabel mają zostać ze sobą połączone.
Przykład
SELECT filmy.tytul, rezyserzy.imie, rezyserzy.nazwisko
FROM filmy
JOIN rezyserzy
ON filmy.rezyserID = rezyserzy.id;
W tym przykładzie:
- filmy.rezyserID to klucz obcy,
- rezyserzy.id to klucz główny,
- jeden reżyser może mieć wiele filmów.
Typowy błąd egzaminacyjny
Nie należy łączyć przypadkowych kolumn o tej samej nazwie, np. filmy.id = rezyserzy.id, jeśli nie opisują tego samego związku. Poprawne połączenie wynika z relacji: klucz obcy wskazuje na klucz główny.