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 删除。




还没有任何评论,赶紧来占个楼吧!