1. 程式人生 > >ORACLE with..as...語句

ORACLE with..as...語句

oracle with...as...

with...as ...語句用於將查詢語句定義為某個名稱,並可以再後續的查詢塊中引用。當查詢名稱與已有的表名重復時,with定義的查詢塊優先級高。with語句可以定義多個查詢,中間使用逗號分隔。常用於定於需要反復查詢某些表的視圖中,使用with語句把需要查詢的表定義為查詢快再使用比直接在視圖中反復的查詢表效率要高一些。個人覺得with..as..的作用是把會反復使用的表字段在查詢塊中預先查詢出來,為這個查詢塊定義一個名稱,作用類似於一個臨時表。

例子:

 create or replace view test_with_as
 as 
 --定義with..as..查詢塊
 with     
 dept_info  as
 (select dept_name,dept_id  from dept),
 employee_info as
 (select  employee_name, employee_id, dept_id, salary   from employee)
 --調用with..as..中的查詢塊
 select d.*,t.* from dept_info  d  inner join employee_info  e on d.dept_id=e.dept_id;

本文出自 “天黑順路” 博客,請務必保留此出處http://mjal01.blog.51cto.com/12140495/1975519

ORACLE with..as...語句