oracle+union+连接,Oracle中union/union all/Intersect/Minus用法
Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All,对两个结果集进行并集操作,包括重复行,不进行排序;
Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。
order by子句必须写在最后一个结果集里,并且其排序规则将改变操作后的排序结果;并且对于Union、Union All、Intersect、Minus都有效。
表头会用第一个连接块的字段。
1.Union
union用法中,两个select语句的字段类型匹配,而且字段个数要相同.
UNION连接的两个表是同一表,使用UNION会过滤重复行,显示的是一张表的数据。
下面SQL查询语句中两个表完全一样,所以查询显示的是单张表的信息。
SCOTT@bys1>select deptno,dname as "aa",loc from deptunion select deptno,dname,loc from dept;
DEPTNO aa LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
2.Union All
UNION ALL,它的用法和union一样,只不过union含有distinct的功能,它会把两张表了重复的记录去掉,
而union all不会,所以从效率上,union all 会高一点,但在实际中用到的并不是很多.
效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL。
尽量使用union all,因为union需要进行排序,去除重复记录,效率低。
下面SQL查询语句中两个表完全一样,所以查询显示了两次表内信息。
SCOTT@bys1>select deptno,dname,loc as "aa" from deptunion allselect deptno,dname,loc as "bb" from dept;
DEPTNO DNAME aa
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
3.Intersect
对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;返回两个表共同含有的数据,取出交集作为最终的返回结果。
下面SQL查询语句中两个表完全一样,所以查询显示的是单张表的信息。
SCOTT@bys1>select deptno,dname,loc as "aa" from dept intersectselect deptno,dname,loc as "bb" from dept;
DEPTNO DNAME aa
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
4.Minus
对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。
第一个结果集减去第二个结果集中的内容,所剩余的内容作为最终的返回结果。
下面SQL查询语句中两个表完全一样,所以查询显示无信息。
SCOTT@bys1>select deptno,dname,loc as "aa" from dept minusselect deptno,dname,loc as "bb" from dept;
no rows selected
oracle+union+连接,Oracle中union/union all/Intersect/Minus用法相关推荐
- [转]使用Navicat for Oracle工具连接oracle的
使用Navicat for Oracle工具连接oracle的 这是一款oracle的客户端的图形化管理和开发工具,对于许多的数据库都有支持.之前用过 Navicat for sqlserver,感觉 ...
- 使用Navicat for Oracle工具连接oracle
使用Navicat for Oracle工具连接oracle 今天上网的时候偶然发现了一款oracle的客户端的图形化管理和开发工具,当看到这个界面的时候,感觉很舒服,便上网搜了一下这个工具,看百度百 ...
- sqldbx连不上oracle,SqlDbx连接oracle(无需安装Oracle客户端)
下载地址:https://download.csdn.net/download/xzplinke/10428957 解压SqlDbx.zip,将SqlDbx放到C:盘根目录(C:\SqlDbx 路径是 ...
- mysql union语法,mysql中的union用法
UNION在mysql中被称为集合操作,操作类型分为两种:UNION DISTINCT 和 UNION ALL:注意:UNION和UNION DISTINCT是一样的功能.UNION功能为合并多个查 ...
- Navicat for Oracle工具连接oracle
为什么80%的码农都做不了架构师?>>> 这个工具可以用于任何版本 8i 或以上的 Oracle 数据库服务器,并支持大部份 Oracle 最新版本的功能,包括目录.表空间.同 ...
- 现在c++链接oracle,C++ 连接Oracle
欢迎技术交流. QQ:138986722 刚刚学习了C++.感觉学东西还是动手比较学得快一点! 下面是一个ADO方式连接Oracle的小程序部分代码...... 首先是Oracle的配置.在Oracl ...
- vs窗体 oracle,VS2010连接oracle数据库的简单例子
下面附有代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Da ...
- oracle代码连接,Oracle连接核心知识点
一:开始进入Oracle的世界吧 借我学校一位Oracle学的很牛逼的老师一句话:学好Oracle,再去学习其他数据库的时候,你会有一种:一览众山小的感觉! 注意:本博客的所有Oracle的技术都是在 ...
- ssm oracle mysql_ssm连接oracle数据库
ssm连接oracle数据库 发布时间:2018-06-17 19:04, 浏览次数:1001 , 标签: ssm oracle 之前ssm项目使用的都是mysql数据库,现在要使用oracle数据库 ...
最新文章
- java语法基础(总结)
- string和C语言字符串之间的相互转换以及string常用函数
- java学习(122):treeset自定义排序
- centos 等保三级_等保测评三级整改-身份鉴别
- 次表面散射材质_游戏开发者怎么做出以假乱真的画面效果?大气散射渲染了解一下...
- 交换机的 VTP sever 与 client设置
- Leading and Trailing LightOJ - 1282
- Java中this和this()
- oracle数据库常用的函数总结
- FTP下载工具的使用
- 支付宝,模拟支付,JavaWeb为例
- 常看:前端面试题搂搂
- android 腾讯x5内核 浏览器
- 零基础转行到软件测试如何拿到所谓的高薪?
- 华硕部分飞行堡垒系列安装ubuntu16.04(uefi+gpt+win10环境)
- 10个免费音效素材下载网站,下载超方便还能免费商用!
- Oracle和Mysql的区别
- navicat导出数据库数据
- 用java输出学生信息表代码_使用java导出学生成绩表-excel成绩表
- html转成cshtml通用篇
热门文章
- bo JAVA是什么意思,大家来讨论下业务层(BO)该做什么事?该怎样做事?该怎么解决...
- 免费计算机网络同传系统,ghost网络同传系统.doc
- 计算机视觉:支持M:N匹配与活体检测的百度人脸Api调用典例
- 关于 ping-pong buff
- Unity旋转之四元数(开关车门,第一人称控制器)
- “顾客至上,服务至上”??
- 调试笔记之雨过天晴多点还原软件MBR实例
- Blinder: Partition-Oblivious Hierarchical Scheduling论文笔记
- 数学会对计算机编程的关系
- 生活中的经典感人语句