union和union all均为拼接查询结果,不同点在于union会对结果去重,而union all不会对结果去重。
如果不需要去重时,建议使用union all,因为union会对两个或多个sql查询结果去重,这一过程可能会引发内存问题。
必须去重时,建议使用distinct+union all 代替union。
eg:
select 'a'
union
select 'a'
>output:
a
eg:
select 'a'
union all
select 'a'
>output:
a
a
本文介绍了SQL中Union与Union All的区别,Union用于合并查询结果并去除重复记录,而Union All则保留所有记录,包括重复项。当数据量较大时,使用Union All能提高效率,避免潜在的内存问题。
1687

被折叠的 条评论
为什么被折叠?



