SQL中 UNION 和 UNION ALL 操作符小结1、UNION 和 UNION ALL 操作符用于合并两个或多个 SELECT 语句的结果集【适用场景】
2、UNION 和 UNION ALL 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型,即数据类型必须兼容。同时,每条 SELECT 语句中的列的顺序必须相同。
3、UNION 和 UNION ALL 结果集中的列名总是等于 UNION(ALL)中第一个 SELECT 语句中的列名
4、UNION 和 UNION ALL 这两者从使用和效率上来说都有所不同。如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用union all1)对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,Union All不会去除重复记录2)对排序的处理:Union将会按照字段的顺序进行排序;UNION ALL只是简单的将两个结果合并后就返回3)从效率上说: UNION ALL 要比 UNION 快很多
5、UNION 其实执行的实质逻辑应该是先将某一子结果集进行排序,然后再判断是否有重复的数据,若有则删除掉重复的数据简单总结: UNION 对两个结果集进行并集操作,不包括重复行去重,同时进行默认规则的排序UNION ALL 对两个结果集进行并集操作,包括重复行,不进行排序; 由于Union需要对查询结果集进行排序操作,当数据量较大时,若非特殊需要,尽量不要使用Union操作,而改用Union All操作,然后对Union All出来的结果执行去重操作即可,这样会使得查询的效率大大的增强

注意:bolb类型,oracle union查询中BLOB字段出错问题(谢谢网友moon的补充)

     select blobf from table1

     union

    select blobf from table2
   出错:ora-00932:数据类型不一致
    因为:union会对字段类型进行比较(相等和不等判断),oracle不支持对大数据类型的比较操作。 
    解决办法:使用union all就可以了

转载于:https://www.cnblogs.com/hushzhang/p/6813283.html

SQL中 UNION 和 UNION ALL 操作符小结相关推荐

  1. SQL中JOIN和UNION区别及用法

    转载:http://chengheng1984.blog.163.com/blog/static/17947412201012215738844/ JOIN用于按照ON条件联接两个表,主要有四种: I ...

  2. Sql中的并(UNION)、交(INTERSECT)、差(minus)、除去(EXCEPT)详解

    限制条件 (1)所有查询中的列数和列的顺序必须相同. (2)比较的两个查询结果集中的列数据类型可以不同但必须兼容. (3)比较的两个查询结果集中不能包含不可比较的数据类型(xml.text.ntext ...

  3. SQL中时间为空的处理小结

    sql server中常常需要使用DateTime类型的字段.当此类型字段值为空时,常常出现各种异常. 现将几种主要情况进行小结: 一.如何输入NULL值 如果不输入null值,当时间为空时,会默认写 ...

  4. SQL高级---SQL UNION 和 UNION ALL 操作符

    SQL UNION 和 UNION ALL 操作符 SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥 ...

  5. SQL UNION 和 UNION ALL 操作符

     SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同 ...

  6. Sql中的union和union all的讲解

    SQL UNION 和 UNION ALL操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相 ...

  7. SQL Server中的Union和Union All语句之间的差异及其性能

    SQL Server中的Union和Union All语句之间的差异及其性能 UNION vs UNION ALL 了解union和union all语句之间的差异及其性能. UNION UNION命 ...

  8. sql中union和union all的区别

    union 连接两个表查询的结果 假设我们有一个表Student,包括以下字段与数据: [c-sharp] view plaincopy drop table student; create tabl ...

  9. sql中exists,Intersect ,union 与union All的用法

    熟练使用SQL Server中的各种用法会给查询带来很多方便.今天就介绍一下EXCEPT和INTERSECT.注意此语法仅在SQL Server 2005及以上版本支持. EXCEPT是指在第一个集合 ...

最新文章

  1. BCH预共识机制信息整理
  2. html第三方接口,关于调用三方平台接口与推送接口的总结(2020.7.27)
  3. 干货!!!MySQL 大表优化方案(1)
  4. 神策用户标签系统,深入业务构建用户价值体系
  5. c++中实现delphi的按类名生成类对象
  6. [转]软件保护之注册算法篇
  7. Eclipse Plug-in Hello world
  8. [HTTP] HTTP是什么
  9. 从零开始学keras之多分类问题
  10. Golang 方法接收者为值与指针的区别
  11. Caffe傻瓜系列(11):caffe中的lr_policy选择
  12. 预测模型(数学建模)
  13. http状态码大全整理
  14. Zabbix 5.0版本的详细安装教程
  15. leetcode剑指Offer2
  16. 使用navicat进行库表数据拷贝
  17. bootstrap~去除input选中时的蓝色边框线
  18. 如何通过Darkvm注册阿里云国际版?
  19. 探索 Java 中的 Date, Calendar, TimeZone 和Timestamp
  20. SimpleWayPointSystem的简单使用

热门文章

  1. java中文件下载的思路(参考:孤傲苍狼)
  2. 清除tomcat缓存
  3. cholesky分解_Time Series Analysis-1.2 LDL分解
  4. 中南大学 科学计算和MATLAB 初级语言学习
  5. android仿饿了么筛选,Android仿饿了么搜索功能
  6. python save保存图片到本地_python爬取网站上的图片并保存到本地
  7. FP Growth算法
  8. ios textview间距_iOS开发之UITextView,设置textView的行间距及placeholder
  9. php调用python导出excel_如何使用Django导出Excel代码问题
  10. SparkSQL统一数据的加载与落地