一、集合运算操作符

 UNION:(并集)返回两个集合去掉重复值的所有的记录

 UNION ALL:(并集)返回两个集合去掉重复值的所有的记录

INTERSECT:(交集)返回两个集合的所有记录,重复的只取一次

 MINUS:(差集)返回属于第一个集合,但不属于第二个集合的所有

                       记录

集合运算中各个集合必须有相同的列数,且类型一致,集合运算的结

       果采用第一个集合的表头作为最终的表头,order by必须放在每个

       集合后

二、集合运算

使用UNION操作符查询scott表中10部门和20部门的员工信息

  1. SQL> select * from emp
  2. 2  where deptno=10
  3. 3  union
  4. 4  select * from emp
  5. 5  where deptno=20;
  6. EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
  7. ---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
  8. 7369 SMITH      CLERK           7902 17-12月-80            880                    20
  9. 7566 JONES      MANAGER         7839 02-4月 -81           2975                    20
  10. 7782 CLARK      MANAGER         7839 09-6月 -81           2450                    10
  11. 7788 SCOTT      ANALYST         7566 19-4月 -87           3000                    20
  12. 7839 KING       PRESIDENT            17-11月-81           5000                    10
  13. 7876 ADAMS      CLERK           7788 23-5月 -87           1100                    20
  14. 7902 FORD       ANALYST         7566 03-12月-81           3000                    20
  15. 7934 MILLER     CLERK           7782 23-1月 -82           1300                    10
  16. 已选择8行。

使用UNION操作符统计scott用户下emp表中得各个部门的总工资,

       和各部门各职位的工资

  1. SQL> break on deptno skip 2;
  2. SQL> select deptno,job,sum(sal) from emp group by deptno,job
  3. 2  union
  4. 3  select deptno,to_char(null),sum(sal) from emp group by deptno
  5. 4  union
  6. 5  select to_number(null),to_char(null),sum(sal) from emp;
  7. DEPTNO JOB         SUM(SAL)
  8. ---------- --------- ----------
  9. 10 CLERK           1300
  10. MANAGER         2450
  11. PRESIDENT       5000
  12. 8750
  13. 20 ANALYST         6000
  14. CLERK           1980
  15. MANAGER         2975
  16. 10955
  17. 30 CLERK            950
  18. MANAGER         2850
  19. SALESMAN        5600
  20. 9400
  21. 29105
  22. 已选择13行。

使用UNION ALL操作符查询scott用户下dept表中的信息

  1. SQL> select * from dept
  2. 2  union all
  3. 3  select * from dept;
  4. DEPTNO DNAME          LOC
  5. ---------- -------------- -------------
  6. 10 ACCOUNTING     NEW YORK
  7. 20 RESEARCH       DALLAS
  8. 30 SALES          CHICAGO
  9. 40 OPERATIONS     BOSTON
  10. 10 ACCOUNTING     NEW YORK
  11. 20 RESEARCH       DALLAS
  12. 30 SALES          CHICAGO
  13. 40 OPERATIONS     BOSTON
  14. 已选择8行。

使用INTERSECT操作符查询scott用户下dept表和emp表中都存在的

        部门号

  1. SQL> select deptno from emp
  2. 2  intersect
  3. 3  select deptno from dept;
  4. DEPTNO
  5. ----------
  6. 10
  7. 20
  8. 30

使用MINUS操作符查询scott用户下dept表中存在而emp表中

不存在的部门号

  1. SQL> select deptno from dept
  2. 2  minus
  3. 3  select deptno from emp;
  4. DEPTNO
  5. ----------
  6. 40

使用MINUS操作符查询scott用户下emp表中的员工工资属于

          (1200-2000)这个档,而不属于(1400-3000)这个档的员工

  1. SQL> select empno,ename,job,sal
  2. 2  from emp
  3. 3  where sal between 1200 and 2000
  4. 4  minus
  5. 5  select empno,ename,job,sal
  6. 6  from emp
  7. 7  where sal between 1400 and 3000;
  8. EMPNO ENAME      JOB              SAL
  9. ---------- ---------- --------- ----------
  10. 7521 WARD       SALESMAN        1250
  11. 7654 MARTIN     SALESMAN        1250
  12. 7934 MILLER     CLERK           1300

Oracle学习之集合运算的更多相关文章

  1. SQL基础学习_06_集合运算和联结

    集合运算 1. 并集:UNION     例:     SELECT shohin_id, shohin_mei    FROM Shohin    UNION    SELECT shohin_id ...

  2. Oracle中的集合运算

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

  3. 【Java EE 学习 28 上】【oracle学习第二天】【子查询】【集合运算】【几种数据库对象】

    一.子查询 1.为什么要使用子查询:问题不能一步求解或者一个查询不能通过一步查询得到. 2.分类:单行子查询和多行子查询. 3.子查询的本质:一个查询中包含了另外一个或者多个查询. 4.使用子查询的规 ...

  4. Oracle学习(七):集合运算

    1.知识点:能够对比以下的录屏进行阅读 SQL> -- 查询10和20号部门的员工的3种方法 SQL> --1. select * from emp where deptno in (10 ...

  5. [学习笔记] Oracle集合运算、内连接、外连接、伪列

    集合运算 INTERSECT(交集),返回两个查询共有的记录. UNION ALL(并集重复),返回各个查询的所有记录,包括重复记录. UNION(并集不重复),返回各个查询的所有记录,不包括重复记录 ...

  6. Oracle组函数、多表查询、集合运算、数据库对象(序列、视图、约束、索引、同义词)等

    count组函数:(过滤掉空的字段) select count(address),count(*) from b_user max() avg() min(),sum() select sum(age ...

  7. Oracle02——oracle分页、子查询、集合运算、处理数据、创建和管理表和其他数据库对象

    作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7289451.html --oracle分页(Pageing Query) select ...

  8. 5.创建表,使用alter进行表信息的增删改,Oracle回收站,集合运算

     1  Oracle基于用户的管理方案 2 DDL语句可以管理数据库的对象有:视图   索引  序列  同义词   约束 3  创建一个表,有2个条件(1 有权限:2有表空间) Oracle给你提 ...

  9. Oracle(2)之多表查询&子查询&集合运算

    多表查询 笛卡尔积 同时查询多张表时,每张表的每条数据都要和其它表的每条数据做组合.如下栗子,我们发现产生的总记录数是 56 条,还发现 emp 表是 14 条,dept 表是 4 条,56 条正是 ...

随机推荐

  1. getHeight returns 0 for all Android UI objects

    It's 0 because in both onCreate and onStart, the view hasn't actually been drawn yet. You can get ar ...

  2. LoadRunner 学习笔记(1)性能测试常见术语

    并发用户数据:与服务器进行交互的在线用户数量 请求响应时间:从Client端发出请求到得到响应的整个时间 一般包括网络响应时间 + server的响应时间 事务请求响应时间:完成这个事务所用的时间 这 ...

  3. iOS10和Xcode8适配

    1 Xib文件的注意事项 使用Xcode8打开xib文件后,会出现下图的提示. 大家选择Choose Device即可. 之后大家会发现布局啊,frame乱了,只需要更新一下frame即可.如下图 注 ...

  4. android 讯飞语音识别(离线)注意事项

    讯飞语音识别:使用注意事项:mainfest.xml中一定要记得权限写进去21001:我的情况是没有写SpeechApp类,并且需要在application中注册:20005:无匹配结果23300:本 ...

  5. html5上传文件并监听进度

    出处:   http://blog.csdn.net/small_rice_/article/details/21391625

  6. JNI中使用cl命令生成DLL文件

    问题描述:     在使用JNI调用DLL时,首先需要生成DLL文件 问题解决:     (1)现在使用VS2008的cl.exe程序,生成DLL文件 (1.1)cl.exe环境搭建 注:   cl. ...

  7. 【HTTP】Fiddler(一) - Fiddler简介

    1.为什么是Fiddler? 抓包工具有很多,小到最常用的web调试工具firebug,达到通用的强大的抓包工具wireshark.为什么使用fiddler?原因如下: a.Firebug虽然可以抓包 ...

  8. [转载]如何申请淘宝app_key、app_secret、SessionKey?

    不知道如何申请淘宝开发平台的App Key?其实申请App key很简单,主要了解申请步骤以及各个App key的数据阶段状态就可以了!下面由淘客帝国为您做详细图文讲解!申请比较简单,不过为了新手能够 ...

  9. d3d11 effect state and default value tables

    Blend state State Default ValueAlphaToCoverage Enable FALSEIndependentBlend Enable FALSERenderTarget ...

  10. [设计模式] 7 适配器模式 adapter

    在 Adapter 模式的结构图中可以看到,类模式的 Adapter 采用继承的方式复用 Adaptee的接口,而在对象模式的 Adapter 中我们则采用组合的方式实现 Adaptee 的复用 类模 ...