JOIN和INNER JOIN的区别

这两种连接将给我带来同样的结果。

SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK

SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK

这些报表在性能或其他方面有什么不同吗?

不同的SQL实现之间是否有差异?

解决办法

它们在功能上是等同的,但是INNER JOIN在阅读上会更清晰一些,特别是当查询中包含其他连接类型(即LEFTRIGHTCROSS)时。

评论(5)

不,没有任何区别,纯粹是语法糖

评论(5)

OUTER JOIN'类似,"OUTER"'这个词是可选的。是 "LEFT "或 "RIGHT "关键字使 "JOIN "成为""OUTER" JOIN"。

但是由于某些原因,我总是使用"OUTER",如LEFT OUTER JOIN,而从不使用LEFT JOIN,但我从不使用INNER JOIN,而是直接使用"JOIN"

SELECT ColA, ColB, ...
FROM MyTable AS T1
     JOIN MyOtherTable AS T2
         ON T2.ID = T1.ID
     LEFT OUTER JOIN MyOptionalTable AS T3
         ON T3.ID = T1.ID
评论(3)