ON是语法的一部分

Lay*_*ith 4 t-sql sql-server

是否可以在不指定条件的情况下编写内连接或外连接?是ON condition连接条件语法的一部分吗?

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