Oracle with重用子查詢

j04212發表於2014-02-13


--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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章