Це залежить від типу JOIN INNER або OUTER. Для INNER JOIN відповідь – так, оскільки оператор INNER JOIN можна переписати як CROSS JOIN з пропозицією WHERE, що відповідає тій самій умові, яку ви використали в реченні ON запиту INNER JOIN. Однак це стосується лише INNER JOIN, а не OUTER JOIN. 9 грудня 2008 р.
Ви можете використовувати SQL JOIN with WHERE, якщо хочете: Об’єднайте дані: об’єднайте таблиці, щоб отримати дані з кількох джерел і створити єдиний набір результатів.
Чи є різниця між пропозиціями WHERE і ON? так ON слід використовувати для визначення умови з’єднання, а WHERE – для фільтрації даних.
Ми можемо використовувати «перехресне з’єднання» без умови. Перехресне з’єднання дає результат у формі декартового добутку. Наприклад, якщо в одній таблиці є 3 записи, а в іншій таблиці 2 записи, то перший запис збігатиметься з усіма записами другої таблиці.
Насправді вам часто потрібні і «ДЕ», і «ПРИЄДНАТИСЯ». "JOIN" використовується для отримання даних із двох таблиць на основі значень спільного стовпця. Якщо потім ви хочете додатково відфільтрувати цей результат, скористайтеся пропозицією WHERE. Наприклад, «LEFT JOIN» отримує ВСІ рядки з лівої таблиці, а також відповідні рядки з правої таблиці.
В (ВИБРАТИ) Ви також можете використовувати IN із підзапитом у реченні WHERE.
Якщо ви використовуєте INNER JOIN без пропозиції ON (або якщо ви використовуєте кому без пропозиції WHERE), результат буде таким же, як і при використанні CROSS JOIN : декартів добуток (кожен рядок o1 у парі з кожним рядком o2).