Oracle with as使用小節

孫悟空空發表於2017-06-14

Oracle中的with as使用

1.前言

Oracle 資料庫中的操作 with as 是一個子查詢,該子查詢是將查詢的資料放入Oracle的臨時表中,為後續查詢提供篩選資料。

2.基本語法

with tempTablbeName  as (select * from table1)
select * from tempTablbeName

需要注意的是,with as 是和select 配合使用的,因為臨時表建立了就為查詢使用的,如果後續沒有select查詢語句Oracle會報錯

2.1建立一個臨時表

with temp as (select * from tb_name)

2.2建立多個臨時表

with temp1 as(select * from tb_name1),
     temp2 as(select * from tb_name1),
     temp3 as(select * from tb_name1)

3.擴充套件

with as 子查詢與union配合使用,可以提高查詢的靈活性,常見形式如下

with table1 as(
                    select 1 as a from dual
                    union
                    select 2 as a from dual
                    union
                    select 2 as a from dual
               )

4.結束語

with as 建立的臨時表,是放到Oracle中的臨時表空間中,查詢完畢後就被清除了。關於臨時表空間和表空間是另外的知識了

相關文章