Oracle集合运算

来源:互联网 发布:oracle查询去重数据 编辑:程序博客网 时间:2024/06/05 09:53

Oracle基础知识:集合运算,集合运算就是将两个或者多个结果集组合成为一个结果集。集合运算包括:

··INTERSECT(交集),返回两个查询共有的记录。

··UNION ALL(并集),返回各个查询的所有记录,包括重复记录。

··UNION(并集),返回各个查询的所有记录,不包括重复记录。

··MINUS(补集),返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。

当使用集合操作的时候,要注意:查询所返回的列数以及列的类型必须匹配,列名可以不同。

案例6:查询出dept表中哪个部门下没有员工。只需求出dept表中的部门号和emp表中的部门号的补集即可。

代码演示:求补运算

SQL> SELECT DEPTNO FROM DEPT

  2  MINUS

  3  SELECT DEPTNO FROM EMP;

DEPTNO

------

    40

前面学习过可以通过insert into …select把一个结果集插入到另一张结构相同的表中,因此可以使用union把若干条记录一次性插入到一张表中。

代码演示:用union插入多条数据

SQL> INSERT INTO DEPT

  2  SELECT 50,'公关部','台湾' FROM DUAL

  3  UNION

  4  SELECT 60,'研发部','西安' FROM DUAL

  5  UNION

  6  SELECT 70,'培训部','西安' FROM DUAL

  7  /

3 rows inserted

来源:CUUG官网

0 0
原创粉丝点击