大数据,机器学习,人工智能大数据 爬虫Python AI Sql大数据

图解SQL联结:交叉联结

2019-06-19  本文已影响11人  猴子数据分析

1.什么是联结?

表和表之间是通过列产生关系的,这在SQL里叫做联结。联结(join):是通过表和表之间的关系将两个表合并在一起的操作。

常用的联结有4种类型,分别是交叉联结,内联结,左联结,全联结,

今天我们来学习:交叉联结

2.什么是交叉联结?

交叉联结,也叫笛卡尔积,它的英文单词叫crossjoin。交叉联结是将表中的每一行都与另一个表中的每一行合并在一起。

比如下面图片中:

表1有3行,用1、2、3分别表示表中的3行数据

表2有2行数据,用A、B分别表示表中的2行数据。

表1和表2进行交叉联结的过程是这样的:

表1的第1行分别于表2中的2行合并在一起,这样就产生了2行数据

表1的第2行分别于表2中的2行合并在一起,这样就产生了2行数据

表1的第3行分别于表中的2行合并在一起,这样就产生了2行数据

交叉联结结果的行数是两张表中行数的乘积。表1有3行,表2有2行,所以结果就有3*2=6行

3.生活中的交叉联结案例

交叉联结其实在我们生活中就有,扑克牌就是一个交叉联结。

13张牌包括从1-10(1通常表示为A)以及J、Q、K

4种花色:黑桃、红桃、方块、梅花

图片来源:By Trainler-Own work,CC BY3.0

https://commons.wikimedia.org/w/index.php?curid=7104281

13张牌中的每一张与花色中的每一种颜色结合,总共产生了52张牌,再加上大小王是54张牌。

4.交叉联结有什么用?

交叉联结其实在实际业务中用的比较少,是因为:

1)结果行数太多,需要花费大量的运算实际和高性能设备的支持

2) 结果没有实际价值

那为什么还要在这里介绍呢?

这是因为交叉联结是其他联结运算的基础,下次我们学习的其他联结是在交叉联结的基础上加了过滤条件。

推荐:如何找到好工作?

上一篇 下一篇

猜你喜欢

热点阅读