Насколько я понимаю, ГДЕ правильное использование в этом случае.
Нет, вы неправильно это поняли.
Предложение WHERE приходит после всех предложений JOIN, оно никогда не может быть частью условия JOIN .
Общий формат JOIN:
table_b JOIN table_b ON <some_condition>
, в этой части WHERE
не разрешено. Единственное изменение - это разные типы соединений (left join
, full join
, right join
). Соединения всегда следуют предложению FROM. Только если все объединения полностью определены (, включая условие объединения, используя ON
), вы можете начать писать предложение WHERE
.
Игнорируя подзапросы и производные таблицы на данный момент, вы можете представить предложение FROM
как "одну большую вещь", и только если это выполнено, вы не можете написать предложение WHERE
.
Возможно, вы думаете о древних, устаревших и неявных соединениях fr agile:
SELECT *
from actor,
film_actor fa
WHERE actor.actor_id = fa.actor_id
Но использование явного оператора JOIN
с условием соединения в предложении ON
гораздо лучший стиль кодирования. Не привыкать к устаревшим и древним скрытым соединениям.