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
が実行される可能性があるため、エラーが発生しやすくなります。