union,union all合并结果集

本文详细解析了SQL中Union与Union All的区别及使用场景。Union用于合并两个查询结果并自动去除重复行,而Union All则保留所有行,包括重复行,通常执行效率更高。文章通过实例展示了两者在实际应用中的效果。

关于union,union all的用法

  1. union查询结果集后自动去重,而union all不去重
  2. union去重时,会调用相应的算法,因此union all比union更高效
    请看此例:
    这是exam表:
    在这里插入图片描述
select * FROM exam
UNION all
select * FROM exam

结果是这个样子:
在这里插入图片描述
那么union 呢?

select * FROM exam
UNION 
select * FROM exam

结果是:
在这里插入图片描述
所以到这里我们来总结一下union和union all吧:

  1. union是将产生的两个结果集去重复之后,结果集会按照第一个表的列名进行显示(所以数据类型要匹配)。
  2. union和union all也可以合并两个以上的结果集。
  3. union的 SELECT 语句必须拥有相同数量的列,相同或者相近的数据类型。因为是直接将结果集合并,因此需要保证列的顺序一致(不然数据类型也可能不同)。

有什么问题或者意见的话,欢迎留言,笔者看到会第一时间回复哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值