Answers:
在MySQL中,写JOIN不合格的隐含含义INNER JOIN。换句话说,INNERin INNER JOIN是可选的。INNER而CROSS在MySQL的同义词。为了清楚起见,我写JOIN或者INNER JOIN如果我有一个连接条件,CROSS JOIN如果我没有条件。
文档中介绍了允许的联接语法。
现在,我认为独立的JOIN只是(使用)逗号和WHERE子句而已。
效果是一样的,但是背后的历史却不同。逗号语法来自ANSI-89标准。但是,这种语法存在许多问题,因此在ANSI-92标准中引入了JOIN关键字。
我强烈建议您始终使用JOIN语法而不是逗号。
T1 JOIN T2 ON ...比更具可读性T1, T2 WHERE ...。SELECT * FROM t1, t2 JOIN t3 ON t1.x=t3.y WHERE t1.a = t2.b
这些都是等效的,也等于CROSS JOIN。
使用逗号和[INNER | CROSS] JOIN语法之间存在一些差异,这在连接更多表时可能很重要。MySQL JOIN文档中描述了几乎所有您需要了解的内容。