oracle 集合运算

集合运算就是将两个或者多个结果集组合成为一个结果集。集合运算包括:
INTERSECT(交集),返回两个查询共有的记录。
UNION ALL(并集),返回各个查询的所有记录,包括重复记录。
UNION(并集),返回各个查询的所有记录,不包括重复记录。
MINUS(补集),返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。

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

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

<span style="font-size:18px;">SQL> SELECT DEPTNO FROM DEPT MINUS SELECT DEPTNO FROM EMP; </span>


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

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

<span style="font-size:18px;">SQL> INSERT INTO DEPT
  2  SELECT 50,'公关部','台湾' FROM DUAL
  3  UNION
  4  SELECT 60,'研发部','西安' FROM DUAL
  5  UNION
  6  SELECT 70,'培训部','西安' FROM DUAL
  7  /</span>


 

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值