慢吞云雾缓吐愁 发表于 2025-4-7 20:38:16

SQL UNION 和 UNION ALL 区别

一、区别1:取结果的交集
1、union: 对两个结果集进行并集操作, 不包括重复行,相称于distinct, 同时进行默认规则的排序;
2、union all: 对两个结果集进行并集操作, 包括重复行, 即所有的结果全部显示, 不管是不是重复;
二、区别2:获取结果后的操作
1、union: 会对获取的结果进行排序操作
2、union all: 不会对获取的结果进行排序操作
三、总结
union all只是合并查询结果,并不会进行去重和排序操作,在没有去重的条件下,使用union all的执行服从要比union高
SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请留意,UNION 内部的 SELECT 语句必须拥有雷同数量的列。列也必须拥有相似的数据范例。同时,每条 SELECT 语句中的列的顺序必须雷同。
   SQL UNION 语法
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
注释:默认地,UNION 操作符选取差别的值。假如答应重复的值,请使用 UNION ALL。
    SQL UNION ALL 语法
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
别的,UNION 结果会集的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
下面的例子中使用的原始表:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: SQL UNION 和 UNION ALL 区别