是否可以编写不带ON语句的联接查询?以及这些连接有何不同之处LEFT JOIN, RIGHT JOIN。
ON
LEFT JOIN, RIGHT JOIN
MySQL 文档涵盖了该主题。
这是一个简介。使用join或时inner join,on条件是可选的。这与ANSI标准不同,并且与几乎所有其他数据库不同。效果是cross join。同样,您可以使用带有的on子句cross join,该子句也与标准SQL不同。
join
inner join
on
cross join
交叉联接将创建笛卡尔乘积-即,第一个表的第一行和第二个表的第一行的每种可能组合。具有三行(’a’,’b’和’c’)的表和具有四行(例如1、2、3、4)的表的交叉联接将具有12行。
实际上,如果要进行交叉联接,请使用cross join:
from A cross join B
远胜于:
from A, B
和:
from A join B -- with no on clause
on左右外部连接需要该子句,因此讨论与它们无关。
如果您需要了解联接的不同类型,则需要对关系数据库进行一些研究。在该级别的讨论中,Stackoverflow不合适。