Możesz użyć instrukcji SQL JOIN, aby połączyć dane z trzech lub więcej tabel. Funkcja SQL JOIN jest niezwykle elastyczna, a jej potężną funkcjonalność można wykorzystać do łączenia danych z wielu tabel. Rzućmy okiem na instrukcje SQL, które umożliwiają łączenie wyników z trzech różnych tabel przy użyciu sprzężenia wewnętrznego.
Przykład połączenia wewnętrznego
Weźmy na przykład tabele zawierające sterowniki w jednym zestawieniu tabel i pojazdów w drugim. Połączenie wewnętrzne występuje, gdy zarówno pojazd, jak i kierowca znajdują się w tym samym mieście. Łączenie wewnętrzne wybiera wszystkie wiersze z obu tabel, które zawierają dopasowanie między kolumnami lokalizacji.
Poniższe instrukcje SQL łączą dane z tabel Sterowniki i pojazdy w przypadkach, gdy kierowca i pojazd znajdują się w tym samym mieście:
WYBIERZ nazwisko, imię, tag OD sterowników, pojazdy GDZIE driver.location = vehicle.location
To zapytanie daje następujące wyniki:
nazwisko imię tag -------- --------- --- Baker Roland H122JM Smythe Michael D824HA Smythe Michael P091YF Jacobs Abraham J291QR Jacobs Abraham L990MT
Teraz rozszerz ten przykład, aby dołączyć trzecią tabelę. Wyobraź sobie, że chcesz uwzględnić tylko kierowców i pojazdy obecne w miejscach, które są otwarte w weekend. Możesz wprowadzić trzecią tabelę do zapytania, rozszerzając instrukcję JOIN w następujący sposób:
WYBIERZ nazwisko, imię, tag, open_weekends OD sterowników, pojazdów, lokalizacji GDZIE drivers.location = vehicle.location I vehicles.location = location.location I locations.open_weekends = 'Yes'
nazwisko imię tag tag open_weekends -------- --------- --- ------------- Baker Roland H122JM yes Jacobs Abraham J291QR yes Jacobs Abraham L990MT yes
To potężne rozszerzenie podstawowej instrukcji SQL JOIN umożliwia łączenie danych w złożony sposób. Oprócz łączenia tabel z łączeniem wewnętrznym można również użyć tej techniki do łączenia wielu tabel przy użyciu sprzężenia zewnętrznego. Zewnętrzne sprzężenia zawierają wyniki, które istnieją w jednej tabeli, ale nie mają odpowiadającego dopasowania w połączonej tabeli.