关于工作中使用sql进行表关联引发的问题
前言: 是在工作中需要将两个查询结果集关联起来并得到最后的数据。
问题: 我们需要在将两个查询结果集关联起来并得到最后的数据,但是在关联时遇见了一个问题,我们确定了关联的条件,但是却无法确定两张表的数据,因为两张表的数据数量并不是可控的。
解决方法: full join
特点: 这种连接方式将两张表进行关联,可以完美避开两张表的数据都不可控的情况。 当 A 表 中有 10 条数据,B 表中有 3 条数据,其中通过关联条件关联有 1 条关联成功。那么,我们通过full join 进行关联将出现 10 + 3 - 1 条数据。 (A,B表数据的和减去了关联成功的重复条数结果就是最后的结果集。这个结果将两张表的数据完全结合到了一起。)
同理对比:
条件一致的情况下:
A表 10条数据
B表 3条数据
关联成功的数据 1条
其中 A left join B 10条 查询结果为A表的条数 A right join B 3条 查询结果为B表的条数 A inner join B 1条 只筛选符合条件的 A full join B 12条 查询所有,去除重复的 A B 产生笛卡尔积 30条
参考链接–站内其他博客
|