Oracle with重用子查询

Posted john2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle with重用子查询相关的知识,希望对你有一定的参考价值。

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


[email protected] 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











以上是关于Oracle with重用子查询的主要内容,如果未能解决你的问题,请参考以下文章

在 Oracle 中使用 connect by 在 with 子句中访问子查询中的父别名

Oracle Bulk Collect and Update from cursor or user Update with Select 子查询

EXISTS 不适用于 WITH 子句中的子查询

重用相关子查询的结果

如何重用IN子查询的查询?

重用选择子查询/结果