union和union all的区别

本文详细解释了SQL中Union与UnionAll的区别:Union用于合并两个结果集,但会自动去除重复行并按默认规则排序;UnionAll同样用于合并结果集,但保留所有行包括重复项,且不会重新排序。通过具体例子展示了两种方式的不同效果。

union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。 

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

Union All:对两个结果集进行并集操作,包括重复行,不进行排序(保持原本sql的排序进行组合);

使用union All

(select 
* from 
message
where 
m_id < 20)
UNION ALL(
select 
* from 
message
where 
m_id < 20 
ORDER BY m_id DESC)

结果是重复,并且是按照没有排序的情况。

select 
* from 
message
where 
m_id < 20 
UNION (
select 
* from 
message
where 
m_id < 20 
ORDER BY m_id DESC)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值