когато използвате ANSI SQL-92
синтаксис, ON
ключовата дума е част от съединението, с изключение на cross join
тъй като нямате условие за връзка.
пр.
ВЪТРЕШНО СЪЕДИНЯВАНЕ
SELECT *
FROM tableA INNER JOIN tableB
on tableA.ID = tableB.ID
КРЪСТОСНО СЪЕДИНЯВАНЕ
SELECT *
FROM tableA CROSS JOIN tableB
ON
трябва да се последва след обединената таблица (съединения като INNER и OUTER ), така че няма да имате синтактична грешка. но ако използвате ANSI SQL-89
синтаксис, ON
ключовата дума е пропусната, но трябва да посочите връзката в клаузата where clause
пр.
ВЪТРЕШНО СЪЕДИНЯВАНЕ
SELECT *
FROM tableA, tableB
WHERE tableA.ID = tableB.ID
КРЪСТОСНО СЪЕДИНЯВАНЕ
SELECT *
FROM tableA, tableB
той е предразположен към грешки, защото ако забравите условието, той няма да генерира синтактична грешка и вероятно ще направи cross join