当前位置: Oracle DBA培训网-优技培训 >> oracle培训 > Oracle培训教程 >

Oracle入门:集合运算怎么用

Oracle入门:集合运算怎么用

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

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙