ao usar o
ANSI SQL-92
sintaxe, o ON
palavra-chave faz parte da junção, exceto para a cross join
já que você não tem condição para o relacionamento. ex.
INNER JOIN
SELECT *
FROM tableA INNER JOIN tableB
on tableA.ID = tableB.ID
CROSS JOIN
SELECT *
FROM tableA CROSS JOIN tableB
ON
deve ser seguido após a tabela unida (junções como INNER e OUTER ) para que você não tenha erro de sintaxe. mas se você estiver usando o ANSI SQL-89
sintaxe, ON
palavra-chave é omitida, mas você deve especificar o relacionamento na where clause
ex.
INNER JOIN
SELECT *
FROM tableA, tableB
WHERE tableA.ID = tableB.ID
CROSS JOIN
SELECT *
FROM tableA, tableB
é propenso a erros porque se você esquecer a condição, ele não gerará erro de sintaxe e provavelmente fará o
cross join