--Oracle中的复合查询
复合查询:包含集合运算(操作)的查询
常见的集合操作有:
union: 两个查询的并集(无重复行、按第一个查询的第一列升序排序)
union all:两个查询的并集(有重复行)
intersect:两个查询的交集(无重复行、按第一个查询的第一列升序排序)
minus: 两个查询的差集(无重复行、按第一个查询的第一列升序排序),取第一张表有而第二张表没有的所有记录 由于union、intersect、minus存在排序,故而对sql性能的影响很大,建议少用。 --测试
create table t1 (id number,name varchar2(20));
create table t2 (id number,name varchar2(20));
insert into t1 values(1,'表1');
insert into t1 values(2,'表1');
insert into t1 values(3,'表1');
insert into t1 values(4,'表1');
insert into t1 values(5,'表1');
insert into t2 values(3,'表2');
insert into t2 values(4,'表2');
insert into t2 values(5,'表2');
insert into t2 values(6,'表2');
insert into t2 values(7,'表2'); --查询t1和t2
SQL> select * from t1; ID NAME
---------- --------------------
1 表1
2 表1
3 表1
4 表1
5 表1 SQL> select * from t2; ID NAME
---------- --------------------
3 表2
4 表2
5 表2
6 表2
7 表2 --并集
--1.union
select id from t1
union
select id from t2 ; SQL> select id from t1
2 union
3 select id from t2 ; ID
----------
1
2
3
4
5
6
7 7 rows selected --2.union all
select id from t1
union all
select id from t2; SQL> select id from t1
2 union all
3 select id from t2; ID
----------
1
2
3
4
5
3
4
5
6
7 10 rows selected --交集
select id from t1
intersect
select id from t2; SQL> select id from t1
2 intersect
3 select id from t2; ID
----------
3
4
5 --差集
select id from t1
minus
select id from t2; SQL> select id from t1
2 minus
3 select id from t2; ID
----------
1
2

彻底理解Oracle中的集合操作与复合查询的更多相关文章

  1. java中的集合操作类(未完待续)

    申明: 实习生的肤浅理解,如发现有错误之处.还望大牛们多多指点 废话 事实上我写java的后台操作,我每次都会遇到一条语句:List<XXXXX> list = new ArrayList ...

  2. 理解oracle中连接和会话

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp44 理解oracle中连接和会话 1.  概念不同:概念不同: 连接是指物 ...

  3. 【JVM虚拟机】(7)---深入理解Class中-属性集合

    #[JVM虚拟机](7)---深入理解Class中-属性集合 之前有关class文件已经写了两篇博客: 1.[JVM虚拟机](5)---深入理解JVM-Class中常量池 2.[JVM虚拟机](6)- ...

  4. Oracle中序列的操作以及使用前对序列的初始化

    Oracle中序列的操作以及使用前对序列的初始化   一 创建序列 create sequence myseq start with 1 increment by 1 nomaxvalue minva ...

  5. Oracle中有关字符串操作的语法

    Oracle中有关字符串操作的语法 Oracle提供了丰富的字符串函数 lpad()函数 lpad()函数用于左补全字符串.在某些情况下,预期的字符串为固定长度,而且格式统一,此时可以考虑使用lpad ...

  6. 万字长文深入理解java中的集合-附PDF下载

    目录 1. 前言 2. List 2.1 fail-safe fail-fast知多少 2.1.1 Fail-fast Iterator 2.1.2 Fail-fast 的原理 2.1.3 Fail- ...

  7. Oracle中的集合运算

    前言:在实际项目中对多表进行集合运算使用非常广泛,以下是对集合操作的部分总结. 一,建表,插入测试数据 create table a( numbers integer ) create table b ...

  8. Oracle中对时间操作的一些总结

    sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdate+5/24 在系统时间基础上延迟5小时 sysdate+5 ...

  9. 深入理解Oracle中的随机函数

    --Oracle中取随机值的函数 .dbms_random包 dbms_random包提供了一系列的随机值获取函数以及相关存储过程.下面详细讲解常用的函数和过程. ()dbms_random.rand ...

随机推荐

  1. 实现一个网易云音乐的 BottomSheetDialog

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  2. js、jQuery 获取文档、窗口、元素的各种值

    基于两年开发经验,总结了 javascript.jQuery 获取窗口.文档.元素的各种值 javascript: 文档:是整个document所有的内容 浏览器当前窗口文档body的宽度: docu ...

  3. DOM常用外部插入方法与区别

    1.DOM外部插入after()与before() 节点与节点之前有各种关系,除了父子,祖辈关系,还可以是兄弟关系.之前我们在处理节点插入的时候,接触到了内部插入的几个方法,这节我们开始讲外部插入的处 ...

  4. [模板][Luogu3387] 缩点 - Tarjan, 拓扑+DP

    Description 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次 ...

  5. 算法 排序lowB三人组 冒泡排序 选择排序 插入排序

    参考博客:基于python的七种经典排序算法   [经典排序算法][集锦]     经典排序算法及python实现 首先明确,算法的实质 是 列表排序.具体就是操作的列表,将无序列表变成有序列表! 一 ...

  6. Spark:如何替换sc.parallelize(List(item1,item2)).collect().foreach(row=>{})为并行?

    代码场景: 1)设定的几种数据场景,遍历所有场景:依次统计满足每种场景条件下的数据,并把统计结果存入hive: 2)已有代码如下: case class IndoorOTTCalibrateBuild ...

  7. 关于 String,StringBuilder,StringBuffer

    关于 String,StringBuilder,StringBuffer 的讨论,已有很多文章:在这里,我希望能刨根问底,更进一步的理解其中的原理. String String 是final类型,不可 ...

  8. vue-router动态路由 刷新页面 静态资源没有加载的原因

    在做项目的时候,发现刷新页面的时候,静态路由没有加载,度娘了一圈,终于解决了. vue-router使用history模式+使用嵌套路由: 访问路由和嵌套路由页面,显示正常,但是刷新页面的时候,嵌套路 ...

  9. MySQL查询机制

    在MySQL中,每当查询被发送到服务端时,服务器在执行语句之前将会进行下面的检查: 用户是否有权限执行该语句? 用户是否有权限访问目标数据? 语句的语法是否正确 如果查询通过了这三个测试,就会被传递给 ...

  10. java之设计模式工厂三兄弟之工厂方法模式

    [学习难度:★★☆☆☆,使用频率:★★★★★] 简单工厂模式虽然简单,但存在一个很严重的问题.当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码 ...