Answers:
在MySQL中,写JOIN
不合格的隐含含义INNER JOIN
。换句话说,INNER
in 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
文档中描述了几乎所有您需要了解的内容。