一、集合运算操作符
UNION:(并集)返回两个集合去掉重复值的所有的记录
UNION ALL:(并集)返回两个集合去掉重复值的所有的记录
INTERSECT:(交集)返回两个集合的所有记录,重复的只取一次
MINUS:(差集)返回属于第一个集合,但不属于第二个集合的所有
记录
集合运算中各个集合必须有相同的列数,且类型一致,集合运算的结
果将采用第一个集合的表头作为最终的表头,order by必须放在每个
集合后
二、集合运算
使用UNION操作符查询scott表中10部门和20部门的员工信息
SQL> select * from emp
2 where deptno=10
3 union
4 select * from emp
5 where deptno=20;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 880 20
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
已选择8行。
使用UNION操作符统计scott用户下emp表中得各个部门的总工资,
和各部门各职位的工资
SQL> break on deptno skip 2;
SQL> select deptno,job,sum(sal) from emp group by deptno,job
2 union
3 select deptno,to_char(null),sum(sal) from emp group by deptno
4 union
5 select to_number(null),to_char(null),sum(sal) from emp;
DEPTNO JOB SUM(SAL)
---------- --------- ----------
10 CLERK 1300
MANAGER 2450
PRESIDENT 5000
8750
20 ANALYST 6000
CLERK 1980
MANAGER 2975
10955
30 CLERK 950
MANAGER 2850
SALESMAN 5600
9400
29105
已选择13行。
使用UNION ALL操作符查询scott用户下dept表中的信息
SQL> select * from dept
2 union all
3 select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
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
已选择8行。
使用INTERSECT操作符查询scott用户下dept表和emp表中都存在的
部门号
SQL> select deptno from emp
2 intersect
3 select deptno from dept;
DEPTNO
----------
10
20
30
使用MINUS操作符查询scott用户下dept表中存在而emp表中
不存在的部门号
SQL> select deptno from dept
2 minus
3 select deptno from emp;
DEPTNO
----------
40
使用MINUS操作符查询scott用户下emp表中的员工工资属于
(1200-2000)这个档,而不属于(1400-3000)这个档的员工
SQL> select empno,ename,job,sal
2 from emp
3 where sal between 1200 and 2000
4 minus
5 select empno,ename,job,sal
6 from emp
7 where sal between 1400 and 3000;
EMPNO ENAME JOB SAL
---------- ---------- --------- ----------
7521 WARD SALESMAN 1250
7654 MARTIN SALESMAN 1250
7934 MILLER CLERK 1300
分享到:
相关推荐
数据库开发 Oracle数据库 SQL开发教程 第08章 集合运算(共20页).pdf 数据库开发 Oracle数据库 SQL开发教程 第09章 高级子查询(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第10章 层次查询(共17页).pdf ...
本资源涵盖知识(包括使用案例):Oracle集合运算,交集、并集、补集、差集. 集合运算就是将多个结果集组合成一个结果集。
318分组聚合,关联查询(多表连接查询)(连接查询),连接查询oracle写法,集合运算ld_景羊梅姜锦江杰乾磊磊磊甜森马太胡遥双琮天的博客-CSDN博客.pdf
oracle学习笔记,txt格式,完全是自己总结的,特别详细,有例子,还有练习题以及答案。包括1....使用集合运算 15.增强GROUP BY子句 16.高级子查询 17.分级取回数据 18.oracle9i对DML和DDL语句的扩展。
Oracle数据库学习笔记,包括课程PPT(数据库基础,简单查询,单行多行函数,多表连接,子查询,高级子查询,集合运算,层次查询,DML与事务控制,数据库的网络连接,创建维护表,约束,视图,序列索引和同义词,用户...
MySql只支持Union(并集)集合运算;但是对于交集Intersect、差集Except,就没有实现了。一般的解决方案用in和not in来解决,小量数据还可以,但数据量大了效率就很低了。其实,可以使用另外的方式运算,当然是没有...
6.6 集合运算 6.7 连接查询 第3章 子查询和常用函数 1. 子查询 2. Oracle中的伪列 2.1 ROWID 2.2 ROWNUM 3. Oracle单行函数 3.1字符函数 3.2数字函数 3.3日期函数 3.4转换函数 3.5其他常用函数 4. ...
教程名称:Oracle 数据库视频教程【26集】教程目录:【】00-Oracle序【】01-基本查询【】02-过滤和排序【】03-单行函数【】04-多行函数【】05-多表查询【】06-子查询【】07-集合运算【】08-处理数据【】09-创建和...
数据库开发 Oracle数据库 SQL开发教程 第08章 集合运算(共20页).pdf 数据库开发 Oracle数据库 SQL开发教程 第09章 高级子查询(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第10章 层次查询(共17页).pdf ...
数据库开发 Oracle数据库 SQL开发教程 第08章 集合运算(共20页).pdf 数据库开发 Oracle数据库 SQL开发教程 第09章 高级子查询(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第0章 开篇概述(共14页).pdf ...
基本查询 过滤和排序 单行函数 组函数 多表查询 子查询 集合运算 创建和管理表 光标 例外 Java调用存储过程和存储函数 触发器
数据库开发 Oracle数据库 SQL开发教程 第08章 集合运算(共20页).pdf 数据库开发 Oracle数据库 SQL开发教程 第09章 高级子查询(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第10章 层次查询(共17页).pdf ...
数据库开发 Oracle数据库 SQL开发教程 第08章 集合运算(共20页).pdf 数据库开发 Oracle数据库 SQL开发教程 第09章 高级子查询(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第10章 层次查询(共17页).pdf ...
4.3.2 集合运算中的空值行为 110 4.3.3 空值与GROUP BY和ORDER BY 112 4.3.4 空值与聚合函数 114 4.4 小结 114 第5章 关于问题 116 5.1 问出好的问题 116 5.2 提问的目的 117 5.3 问题的种类 117 5.4 关于...
数据库开发 Oracle数据库 SQL开发教程 第08章 集合运算(共20页).pdf 数据库开发 Oracle数据库 SQL开发教程 第09章 高级子查询(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第10章 层次查询(共17页).pdf ...
数据库开发 Oracle数据库 SQL开发教程 第08章 集合运算(共20页).pdf 数据库开发 Oracle数据库 SQL开发教程 第09章 高级子查询(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第10章 层次查询(共17页).pdf ...
数据库开发 Oracle数据库 SQL开发教程 第08章 集合运算(共20页).pdf 数据库开发 Oracle数据库 SQL开发教程 第09章 高级子查询(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第10章 层次查询(共17页).pdf ...
数据库开发 Oracle数据库 SQL开发教程 第08章 集合运算(共20页).pdf 数据库开发 Oracle数据库 SQL开发教程 第09章 高级子查询(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第10章 层次查询(共17页).pdf ...
数据库开发 Oracle数据库 SQL开发教程 第08章 集合运算(共20页).pdf 数据库开发 Oracle数据库 SQL开发教程 第09章 高级子查询(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第10章 层次查询(共17页).pdf ...