一尘不染

如何在没有ON条件的情况下使用mysql JOIN?

mysql

是否可以编写不带ON语句的联接查询?以及这些连接有何不同之处LEFT JOIN, RIGHT JOIN


阅读 1779

收藏
2020-05-17

共1个答案

一尘不染

MySQL 文档涵盖了该主题。

这是一个简介。使用join或时inner joinon条件是可选的。这与ANSI标准不同,并且与几乎所有其他数据库不同。效果是cross join。同样,您可以使用带有的on子句cross join,该子句也与标准SQL不同。

交叉联接将创建笛卡尔乘积-即,第一个表的第一行和第二个表的第一行的每种可能组合。具有三行(’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不合适。

2020-05-17