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 删除。
还没有任何评论,赶紧来占个楼吧!