SQLServer Union 和 Union All 在Insert 语句中的不同效果

如果不是发了那个帖子还不会像这样意外发现这两者的不同,好歹了也工作了一段时间,真是汗颜

 

上例子:

 

执行此条插入语句后,只会插入两条数据,因为会把完全重复的数据过滤掉

insert into test
select 1,'a' union
select 2,'b' union
select 1,'a'

 

如果有完全相同的数据要插入,则用union all

insert into test
select 1,'a' union all
select 2,'b' union all
select 1,'a'

 

以上,是今天的心得之一,还要其他的,明天或待会儿再补充

 

 

 

在SQL ServerUNIONUNION ALL是用来合并两个或多个SELECT语句的结果集的操作符。UNION会合并两个结果集并去除重复的行,而UNION ALL则不会去除重复的行。 具体区别如下: 1. 去重:UNION会自动去除重复的行,而UNION ALL则会保留所有的行,包括重复的行。这意味着UNION ALL的结果集可能包含重复的行,而UNION的结果集则不会。 2. 性能:由于UNION需要对结果集进行去重的操作,所以在处理大量数据时,UNION的性能可能会比UNION ALL更低。因为UNION ALL不需要去重,所以它的执行速度可能会更快。如果你确定结果集不会有重复的行,那么使用UNION ALL会比使用UNION更高效。 综上所述,在SQL ServerUNIONUNION ALL的区别主要在于是否去重和性能方面。如果你需要合并结果集并去除重复的行,那么使用UNION;如果你不需要去重,或者结果集可能有重复的行,那么使用UNION ALL会更适合。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [sqlserver Union和SQL Union All使用方法](https://download.csdn.net/download/weixin_38738422/13694965)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [SQL ServerUnionUnion All用法?](https://blog.csdn.net/weixin_46329056/article/details/125452729)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值