Most nie musi spinać tylko dwóch skrzydeł. Klauzule
JOIN można łączyć łańcuchowo, dokładając kolejne regały - jeden JOIN po drugim.Książka ma dwa odsyłacze:
autor_id (do autorzy) oraz kategoria_id (do kategorie). Możemy przejść oba mosty w jednym zapytaniu:1SELECT k.tytul, a.nazwisko, kat.nazwa
2FROM ksiazki k
3INNER JOIN autorzy a ON k.autor_id = a.id
4INNER JOIN kategorie kat ON k.kategoria_id = kat.id;Każdy kolejny
INNER JOIN przerzuca następny most i dokłada kolumny z nowego regału. Aliasy (k, a, kat) pozwalają jednoznacznie wskazać, z której tabeli pochodzi kolumna.Najczęściej łączymy trzy regały wokół tabeli
wypozyczenia. Sama tabela wypozyczenia to tylko zbiór numerów: kto (czytelnik_id), co (ksiazka_id), kiedy (data_wypozyczenia). Aby zrobić z niej czytelny raport, dokładamy nazwiska i tytuły:1SELECT w.data_wypozyczenia, c.nazwisko, k.tytul
2FROM wypozyczenia w
3INNER JOIN czytelnicy c ON w.czytelnik_id = c.id
4INNER JOIN ksiazki k ON w.ksiazka_id = k.id;Warto zacząć (
FROM) od tabeli, która ma odsyłacze do pozostałych - tutaj wypozyczenia. Z niej prowadzą mosty do czytelnicy i ksiazki, więc kolejne złączenia układają się naturalnie. Most za mostem - i numery zamieniają się w opowieść!