UNION和UNION ALL的区别

Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

Union All:对两个结果集进行并集操作,包括重复行,不进行排序;

举个栗子:
在这里插入图片描述
两张结构相同的表,有一条记录完全相同。
先看看UNION

SELECT * FROM users
UNION
SELECT * FROM users_log;

结果:
在这里插入图片描述
只有一条id为3的阿杜,UNION会将重复的行给合并

再看看UNION ALL

SELECT * FROM users
UNION ALL
SELECT * FROM users_log;

结果:
在这里插入图片描述
有两条id为3的阿杜。

由上可知:

  • UNION会将查询结果集合并,去除重复行并按照字段的顺序进行排序
  • UNION ALL是直接将所有结果合并就完事儿了
    从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用UNION ALL。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值