Mysql 全量查询

当左右表的交集与各自特有部分都需要保留的时候就需要执行全量查询

然而在Mysql 中并没有提供Full outer join 连接

需要使用Union查询2,先使用left join 保留左边部分,再使用right join 保留右边部分

例如

select * from student A

left join classroom B on A.class_id=B.cid

union

select * from student A

right join classroom B on A.class_id=B.cid

查询结果如下:

Uid

stuName

Gender

Classid

Cid

className

001

Stu1

m

1

1

php

002

Stu2

w

2

2

java

003

Stu3

m

4

4

javascript

004

Stu4

w

Null

Null

Null

005

Stu5

m

5

Null

Null

Null

Null

Null

Null

3

python

即保留了student 表的所有记录,也保留了class 中的所有记录

注意:mysql 中没有 Full outer join 连接

全量查询在业务中常会用到,例如统计多个店铺销售与退货数量时,某个店铺当天有可能只有销售没有退货

也存在某些店铺当天只有退货没有销售的情况, 但各店铺的销售退货数据都需要保留时,就需要用到union

全量连接

Mysql 全量查询

转载请注明来源:幽幽过客_{Mysql 全量查询}