因此,我在过去的一个小时里一直在互联网上浏览,阅读并寻找这个简单问题的明确答案。
MySQL中的默认JOIN是什么?
SELECT * FROM t1 JOIN t2
一样吗
SELECT * FROM t1, t2 OR SELECT * FROM t1 INNER JOIN t2
还有一个相关的问题,当您使用“ WHERE”子句时,它与JOIN或INNER JOIN相同吗?
现在,我认为独立的JOIN与使用逗号和WHERE子句相同。
在MySQL中,写JOIN不合格的隐含含义INNER JOIN。换句话说,INNERin INNER JOIN是可选的。INNER而CROSS在MySQL的同义词。为了清楚起见,我写JOIN或者INNER JOIN如果我有一个连接条件,CROSS JOIN如果我没有条件。
JOIN
INNER JOIN
INNER
CROSS
CROSS JOIN
文档中介绍了允许的联接语法。
现在,我认为独立的JOIN就是(使用)逗号和WHERE子句。
效果是一样的,但背后的历史却不同。逗号语法来自ANSI-89标准。但是,此语法存在许多问题,因此在ANSI-92标准中引入了JOIN关键字。
我强烈建议您 始终 使用JOIN语法而不是逗号。
T1 JOIN T2 ON ...
T1, T2 WHERE ...