如何使用MySQL的JOIN不开的状态?(How to use mysql JOIN without

2019-09-02 09:57发布

是否有可能写连接查询不ON语句? 如何做这些连接不同LEFT JOIN, RIGHT JOIN作品。

Answer 1:

MySQL的文档涵盖这个话题。

这里是一个梗概。 当使用joininner join ,所述on条件是可选的。 这是ANSI标准的不同而不同,从几乎任何其他数据库。 其效果是一个cross join 。 同样,你可以使用on与条款cross join ,这也不同于标准的SQL。

交叉连接产生一个笛卡尔积 - 也就是说,从第一表1行和来自第二行1的每个可能的组合。 交叉联接为具有三行( '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条款需要一个左或右外连接,这样的讨论是不相关的他们。

如果您需要了解不同类型的连接,那么你需要做的基于关系数据库的一些研究。 计算器不是讨论该级别的适当位置。



Answer 2:

见在一些示例http://www.sitepoint.com/understanding-sql-joins-mysql-database/

您可以使用,而不是“ON”“使用”作为查询

SELECT * FROM table1 LEFT JOIN table2 USING (id);


Answer 3:

您可能还需要调查使用UNION,它结合了多个表的一个输出的: SQL -结合两个表的一个输出



文章来源: How to use mysql JOIN without ON condition?