集合操作就是将两个或者多个 sql 查询的结果合并成复合查询。常见的集合操作有UNION(并运算)、UNION ALL、INTERSECT(交运算)和MINUS(差运算)。

UNION

  UNION 运算可以将多个查询结果集相加,形成一个结果集, 其结果相当于集合运算的并运算. UNION 可以将第一个查询结果的所有行与第二个结果集的所有行进行相加,行切消除所有的重复行.语法如下:

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition] UNION SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

例子: 查询名字以 S 或者 M 开始的员工所有信息

 select *
from emp
where ename like 'S%'
UNION
select *
from emp
where ename like 'M%';

UNION ALL

  UNION ALL 的作用和 UNION 的作用极为相似不同之处就是形成的结果集包含其重复的部分。

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition] UNION ALL SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

例子: 查询名字以 S 结尾或者 M 开始的员工所有信息

 select *
from emp
where ename like '%R'
UNION ALL
select *
from emp
where ename like 'M%';

INTERSECT

  INTERSECT 也用于对两个集合进行操作,与之不同的是用于取交集预算。语法如下:

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition] INTERSECT SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

例子: 查询名字以 R 结尾并且 M 开始的员工所有信息

select *
from emp
where ename like '%R'
INTERSECT
select *
from emp
where ename like 'M%';

MINUS

  MINUS 用于查询两个集合的差集,也就是说该运算用于返回所有从第一个查询中返回,但是没有在第二个查询中返回的记录。语法如下:

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition] MINUS SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

例子:查询名字以 R 结尾但是不以 M 开始的员工所有信息

select *
from emp
where ename like '%R'
MINUS
select *
from emp
where ename like 'M%';

orcale 之 集合操作的更多相关文章

  1. Oracle视图,序列及同义词、集合操作

    一.视图(重点) 视同的功能:一个视图其实就是封装了一个复杂的查询语句.1.创建视图的语法:CREATE VIEW 视图名称 AS 子查询 范例:创建一个包含了20部门的视图CREATE VIEW e ...

  2. 函数式Android编程(II):Kotlin语言的集合操作

    原文标题:Functional Android (II): Collection operations in Kotlin 原文链接:http://antonioleiva.com/collectio ...

  3. JAVASE02-Unit05: 集合操作 —— 查找表

    Unit05: 集合操作 -- 查找表 使用该类测试自定义元素的集合排序 package day05; /** * 使用该类测试自定义元素的集合排序 * @author adminitartor * ...

  4. JAVASE02-Unit04: 集合框架 、 集合操作 —— 线性表

    Unit04: 集合框架 . 集合操作 -- 线性表 操作集合元素相关方法 package day04; import java.util.ArrayList; import java.util.Co ...

  5. oracle之集合操作函数---minus、union、intersect

    集合操作符专门用于合并多条select语句的结果,包括:UNION,UNION ALL,INTERSECT,MINUS.当使用集合操作函数时,需保证数据集的字段数据类型和数目一致. 使用集合操作符需要 ...

  6. Scala集合操作

    大数据技术是数据的集合以及对数据集合的操作技术的统称,具体来说: 1.数据集合:会涉及数据的搜集.存储等,搜集会有很多技术,存储技术现在比较经典方案是使用Hadoop,不过也很多方案采用Kafka.  ...

  7. Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...

  8. Python 集合操作

    1.集合操作 集合是一个无序的,不重复的数据组合, 他的主要作业如下. 1.去重,把一个列表变成集合,就自动去重了 2.关系测试,测试两组数据之前的交集.差集.并集等关系 list_1 = [1,4, ...

  9. Python学习笔记-Day3-set集合操作

    set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(t ...

随机推荐

  1. solr&lucene3.6.0源码解析(一)

      本文作为系列的第一篇,主要描述的是solr3.6.0开发环境的搭建   首先我们需要从官方网站下载solr的相关文件,下载地址为http://archive.apache.org/dist/luc ...

  2. XJOI 3601 技能(贪心+二分)

    题目描述: 有一个oier,他有n个算法技能,每个技能有一个水平值,每个技能的水平上限都是A,设这个oier有cnt个技能达到了A, 设所有水平值的最小值为mi,那么这个oier的战斗力为cnt×Cf ...

  3. Freemark与spring整合

    SpringMVC环境的搭建在这里就不多说了,我们这节主要是FreeMarker与SpringMVC整合 首先,在springmvc的配置文件普通视图之前,加入freemarker的视图 fre-se ...

  4. XE7 & FMX 那些年我们一起上过的控件:StringGrid 之(1) 自定义标题样式

    FMX下的Grid类控件似乎不太尽如人意,可能是和官方的资料没有跟得上它的发行版本有关系. 以下讨论StringGrid的列表头及对齐方式. 先上个效果图: FMX的列表头估计很多人都是用盒子上流传甚 ...

  5. mybatis mybatis.xml 文件和properties文件结合来进行配置数据源

  6. robot中使用evaluate转化数据格式

    如果你使用robot却没有用过evaluate,那你将永远禁锢在框架中. json对象格式入参可以使用字典格式直接传入,但最近有一个接口测试的入参是一个json数组,在传参时总是提示请求参数不合法, ...

  7. 只是误以为导入了maven依赖

    背景: 之前用Spring Boot 开发了一个小项目,考虑将代码迁到Git服务器,由于之前没用过Git,在将代码正式签入Git服务器前, 我想先签入一个最简单的Spring Boot程序代码作为试验 ...

  8. 新建MAVEN项目--pom.xml报错

    使用集成了maven的Eclipse版本新建maven项目后,配置文件pom.xml会在project以及引用的xsd文件处出现错误(第一.二行报错) 其中一个报错例子: Multiple annot ...

  9. samba使用

    一. samba安装 1. 安装:apt-get install samba samba-common smbclient 安装成功后,会默认启动samba服务, 可用ps-ef | grep smb ...

  10. map集合根据value找key,默认取第一个key

    private static String getKey(Map<String,String> map,String value){ String key=""; fo ...