Tabela filmy ma klucz główny id i klucz obcy rezyserID. Tabela rezyserzy ma klucz główny id. Jak poprawnie połączyć je w SELECT (relacja jeden reżyser → wiele filmów)?
Źle. Po stronie
rezyserzy powinno być id, nie filmyID.Dobrze. Klucz OBCY z
filmy = klucz GŁÓWNY rezyserzy.Źle. Łączy klucze GŁÓWNE obu tabel, a nie obcy z głównym.
Źle. W
rezyserzy nie ma kolumny filmyID.Tabele łączy się tam, gdzie pasują klucze: klucz OBCY
rezyserID z tabeli filmy wskazuje klucz GŁÓWNY id tabeli rezyserzy. Dlatego poprawny warunek to ON filmy.rezyserID = rezyserzy.id.Złączenie musi zestawiać klucz obcy z głównym powiązanej tabeli.
filmy.id = rezyserzy.id porównuje dwa klucze GŁÓWNE (bez sensu logicznego). Warianty z rezyserzy.filmyID odwołują się do nieistniejącej kolumny. Poprawne jest ON filmy.rezyserID = rezyserzy.id.