Как ведет себя JOIN & WHERE?
Он выгребет только то что надо. А еще может поменять порядок джойнов чтоб выгребать меньше/быстрее. Но в целом план выполенения запроса будет зависеть от многих факторов (в т.ч. кол-во данных в таблицах, индексы и статистика по этим индексам), потому всегда лучше посмотреть експлейн. А вот нюансы уже могут отличатся от вендора к вендору
хороший вопрос, заставил меня прочесть статью: https://bookflow.ru/10-prostyh-shagov-k-polnomu-po...
есть лексический порядок и есть логический
Мы пишем так: 
SELECT [ DISTINCT ]
FROM
WHERE
GROUP BY
HAVING
UNION
ORDER BY

а логика такая:

FROM
WHERE
GROUP BY
HAVING
SELECT
DISTINCT
UNION
ORDER BY