SQL cross-join

SQL交叉联接 当第一张表的每一行与第二张表的每一行合并时,称为笛卡尔联接或交叉联接。一般而言,我们可以说SQ…

SQL交叉联接

当第一张表的每一行与第二张表的每一行合并时,称为笛卡尔联接或交叉联接。一般而言,我们可以说SQL CROSS JOIN返回联接表中行集的笛卡尔积。

我们可以通过两种方式指定CROSS JOIN:

  • 使用JOIN语法。
  • 不使用WHERE子句的FROM子句中的表。

SQL Cross Join的语法

SELECT * FROM [TABLE1] CROSS JOIN [TABLE2]
OR
SELECT * FROM [ TABLE1] , [TABLE2]

让我们以两个表为例,

表1-MatchScore

Player Department_id Goals
Franklin 1 2
Alan 1 3
Priyanka 2 2
Rajesh 3 5

表2-部门

Department_id Department_name
1 IT
2 HR
3 Marketing

SQL语句:

SELECT * FROM MatchScore CROSS JOIN Departments

执行完该查询后,您将发现以下结果:

Player Department_id Goals Depatment_id Department_name
Franklin 1 2 1 IT
Alan 1 3 1 IT
Priyanka 2 2 1 IT
Rajesh 3 5 1 IT
Franklin 1 2 2 HR
Alan 1 3 2 HR
Priyanka 2 2 2 HR
Rajesh 3 5 2 HR
Franklin 1 2 3 Marketing
Alan 1 3 3 Marketing
Priyanka 2 2 3 Marketing
Rajesh 3 5 3 Marketing
类别:MySQL

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册