Joh*_*Woo 12
在使用ANSI SQL-92语法时,ON关键字是连接的一部分,除了cross join因为您没有关系的条件.
恩.
内部联接
SELECT *
FROM tableA INNER JOIN tableB
on tableA.ID = tableB.ID
Run Code Online (Sandbox Code Playgroud)
交叉加入
SELECT *
FROM tableA CROSS JOIN tableB
Run Code Online (Sandbox Code Playgroud)
ON应该在连接表之后跟进(像INNER和OUTER这样的连接),这样你就不会有语法错误.但是如果您使用的是ANSI SQL-89语法,ON则省略关键字,但您必须在其上指定关系where clause
恩.
内部联接
SELECT *
FROM tableA, tableB
WHERE tableA.ID = tableB.ID
Run Code Online (Sandbox Code Playgroud)
交叉加入
SELECT *
FROM tableA, tableB
Run Code Online (Sandbox Code Playgroud)
它很容易出错,因为如果你忘记了这个条件,它就不会产生语法错误,而且很可能会这样做 cross join