图解SQL联结:交叉联结

作者: 猴子数据分析 | 来源:发表于2019-06-19 11:49 被阅读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) 结果没有实际价值

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

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

    推荐:如何找到好工作?

    相关文章

      网友评论

        本文标题:图解SQL联结:交叉联结

        本文链接:https://www.haomeiwen.com/subject/qqbhqctx.html