Przejdź do głównej treści
  1. Strona główna
  2. Słownik
  3. INF.03
  4. JOIN w SQL

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.