V
FROM working_place wp
JOIN working_place_worker wpw ON ...
WHERE ...
ON
klauzule odkazuje pouze do dvou tabulek účastnících se spojení, konkrétně wp
a wpw
. Názvy z vnějšího dotazu nejsou pro něj viditelné.
WHERE
klauzule (a její sestřenice HAVING
je prostředek, kterým je vnější dotaz korelován s poddotazem. Jména z vnějšího dotazu jsou na to vidět.
Abyste si to snadno zapamatovali,
- ON je o JOIN, o tom, jak spolu dvě tabulky tvoří řádek (nebo řádky)
- KDE jde o kritéria výběru, test, kterým musí řádky projít
Zatímco analyzátor SQL připustí literály (které nejsou názvy sloupců) v klauzuli ON, nakreslí čáru u odkazů na sloupce mimo spojení. Můžete to považovat za laskavost, která chrání před chybami.
Ve vašem případě wo
tabulka není součástí JOIN
a je odmítnut. je součástí celého dotazu a je rozpoznán pomocí WHERE
.