UNION 和 UNION ALL 操作符 使用总结

上官凝轩2017 2017-03-22 10:00:05
1、UNION操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
值得注意的是UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
UNION 语法结构如下:
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2;
默认地,UNION 操作符选取不同的值,也就是说查询结果不包含重复的数据。另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
2、UNION ALL操作符
UNION ALL 语法
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2;
UNION ALL 查询结果是包含重复值的。
3、UNION 和 UNION ALL 性能上的区别
UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。
而UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。
从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL
...全文
501 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACE-2017 2017-04-26
  • 打赏
  • 举报
回复
总结的很好,赞一个
卖水果的net 2017-04-20
  • 打赏
  • 举报
回复
楼主把 order by 也补充进去吧。
imcmuc 2017-04-20
  • 打赏
  • 举报
回复
谢谢分享!6
壹四 2017-03-23
  • 打赏
  • 举报
回复
顶一下,谢谢分享!!
蓝色蛋饼 2017-03-22
  • 打赏
  • 举报
回复
支持
js14982 2017-03-22
  • 打赏
  • 举报
回复
顶一下。,,

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧