JOIN w SQL
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
JOIN służy do łączenia danych z dwóch lub więcej tabel na podstawie powiązanych pól. W relacyjnych bazach danych dane często są rozdzielone na tabele, np. osobno tabela Klienci i osobno tabela Zgloszenia.
Najczęstszy przypadek
Jeżeli tabela Zgloszenia zawiera pole Klienci_id, które wskazuje na id klienta, tabele można połączyć tak:
SELECT opis, nazwisko
FROM Zgloszenia
JOIN Klienci
ON Klienci.id = Zgloszenia.Klienci_id;
Warunek po ON określa, które rekordy z obu tabel do siebie pasują.
Dlaczego ON jest ważne?
Bez poprawnego warunku połączenia baza danych nie wie, jak zestawić rekordy. Może wtedy powstać błędny wynik, np. iloczyn kartezjański, czyli połączenie każdego rekordu z każdym.
Typowy błąd egzaminacyjny
Nie należy łączyć przypadkowych pól, np.:
ON Klienci.id = Zgloszenia.id
To porównuje identyfikator klienta z identyfikatorem zgłoszenia, a nie z kluczem obcym. Poprawne połączenie powinno używać pola wskazującego klienta, np. Zgloszenia.Klienci_id.