Oracle with重用子查询


--with 重用子查询
对于多次使用相同子查询的复杂查询语句来说,用户可能会将查询语句分成两条语句执行。第一条语句将子查询结果存放到临时表,第二条查询语句使用临时表处理数据。从 Oracle 9i 开始,通过 with 子句可以给予子查询指定一个名称,并且使得在一条语句中可以完成所有任务,从而避免了使用临时表。


SCOTT@ test10g> with summary as (

  2  select dname, sum(sal) dept_total from emp, dept
  3  where emp.deptno=dept.deptno group by dname
  4  )
  5  select dname,dept_total from summary
  6  where dept_total>
  7  (select sum(dept_total)*1/3 from summary);

DNAME          DEPT_TOTAL
-------------- ----------
RESEARCH            10875

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27633655/viewspace-1080670/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/27633655/viewspace-1080670/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值