这些连接之间的差异

Rig*_*eda 4 sql join

两者之间有什么区别吗?

SELECT *
FROM TABLE_A a
JOIN TABLE_B b
  ON a.propertyA = b.propertyA        
Run Code Online (Sandbox Code Playgroud)

和查询

SELECT * from TABLE_A a, TABLE_B b where a.propertyA=b.propertyA.
Run Code Online (Sandbox Code Playgroud)

Joh*_*Woo 5

INNER JOIN是您在第一个语法上使用的ANSI(SQL-92)语法.它通常被认为更具可读性,尤其是当您加入大量表时.

WHERE syntax(SQL-89)更关系模型为主.两个表JOIN'ed的结果是应用了过滤器的表的笛卡尔积,其仅选择具有连接列匹配的那些行.

使用WHERE语法更容易看到这一点.

我宁愿继续使用ANSI类型连接,因为如果你有一些如何省略该ON子句,则会产生错误,而旧类型的连接如果省略条件on where子句将不会产生错误消息,因此它将生成笛卡尔积.