Złączenia tabel w SQL czyli odczytywanie danych z relacyjnej bazy danych
Złączenia naturalne (JOIN)
Pobierzmy teraz z naszej bazy danych informacje o pracownikach takie jak: imię, nazwisko oraz miasto zamieszkania. Jak wiemy miasto zamieszkania jest zapisane w osobnej tabeli więc będziemy musieli zastosować tutaj złączenie:
SELECT pracownicy.Imie, pracownicy.Nazwisko, miastoZamieszkania.Miasto FROM pracownicy JOIN miastoZamieszkania ON pracownicy.pracowincyID = miastoZamieszkania.miastoZamieszkaniaID;
Analizując powyższy kod należy zwrócić uwagę na kilka szczegółów:
- Przy pobieraniu danych z różnych tabel, nazwy kolumn zostały poprzedzone nazwami tabel w których się znajdują,
- Natomiast w klauzuli FROM dodaliśmy informację o drugiej tabeli (zaraz po słowie kluczowym
JOIN
) oraz wskazaliśmy klucz jakim zostały połączone dane (fragment po słowie kluczowymON
).
Osoby, które przeczytały dokładnie artykuł „Podstawowa wersja zapytania SELECT w SQL (SELECT … FROM … WHERE …)” zorientowały się pewnie teraz, że operator JOIN ... ON
, można zastąpić warunkiem WHERE
. Oczywiście jest to technicznie wykonalne, ale taki sposób konstrukcji zapytań łamie standardy i powoduje trudne do wykrycia błędy.