SQL中 UNION 和 UNION ALL 操作符小结
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 操作符小结相关推荐
- SQL中JOIN和UNION区别及用法
转载:http://chengheng1984.blog.163.com/blog/static/17947412201012215738844/ JOIN用于按照ON条件联接两个表,主要有四种: I ...
- Sql中的并(UNION)、交(INTERSECT)、差(minus)、除去(EXCEPT)详解
限制条件 (1)所有查询中的列数和列的顺序必须相同. (2)比较的两个查询结果集中的列数据类型可以不同但必须兼容. (3)比较的两个查询结果集中不能包含不可比较的数据类型(xml.text.ntext ...
- SQL中时间为空的处理小结
sql server中常常需要使用DateTime类型的字段.当此类型字段值为空时,常常出现各种异常. 现将几种主要情况进行小结: 一.如何输入NULL值 如果不输入null值,当时间为空时,会默认写 ...
- SQL高级---SQL UNION 和 UNION ALL 操作符
SQL UNION 和 UNION ALL 操作符 SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥 ...
- SQL UNION 和 UNION ALL 操作符
SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同 ...
- Sql中的union和union all的讲解
SQL UNION 和 UNION ALL操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相 ...
- SQL Server中的Union和Union All语句之间的差异及其性能
SQL Server中的Union和Union All语句之间的差异及其性能 UNION vs UNION ALL 了解union和union all语句之间的差异及其性能. UNION UNION命 ...
- sql中union和union all的区别
union 连接两个表查询的结果 假设我们有一个表Student,包括以下字段与数据: [c-sharp] view plaincopy drop table student; create tabl ...
- sql中exists,Intersect ,union 与union All的用法
熟练使用SQL Server中的各种用法会给查询带来很多方便.今天就介绍一下EXCEPT和INTERSECT.注意此语法仅在SQL Server 2005及以上版本支持. EXCEPT是指在第一个集合 ...
最新文章
- BCH预共识机制信息整理
- html第三方接口,关于调用三方平台接口与推送接口的总结(2020.7.27)
- 干货!!!MySQL 大表优化方案(1)
- 神策用户标签系统,深入业务构建用户价值体系
- c++中实现delphi的按类名生成类对象
- [转]软件保护之注册算法篇
- Eclipse Plug-in Hello world
- [HTTP] HTTP是什么
- 从零开始学keras之多分类问题
- Golang 方法接收者为值与指针的区别
- Caffe傻瓜系列(11):caffe中的lr_policy选择
- 预测模型(数学建模)
- http状态码大全整理
- Zabbix 5.0版本的详细安装教程
- leetcode剑指Offer2
- 使用navicat进行库表数据拷贝
- bootstrap~去除input选中时的蓝色边框线
- 如何通过Darkvm注册阿里云国际版?
- 探索 Java 中的 Date, Calendar, TimeZone 和Timestamp
- SimpleWayPointSystem的简单使用
热门文章
- java中文件下载的思路(参考:孤傲苍狼)
- 清除tomcat缓存
- cholesky分解_Time Series Analysis-1.2 LDL分解
- 中南大学 科学计算和MATLAB 初级语言学习
- android仿饿了么筛选,Android仿饿了么搜索功能
- python save保存图片到本地_python爬取网站上的图片并保存到本地
- FP Growth算法
- ios textview间距_iOS开发之UITextView,设置textView的行间距及placeholder
- php调用python导出excel_如何使用Django导出Excel代码问题
- SparkSQL统一数据的加载与落地