當(dāng)查詢中多次用到某一部分時(shí),可以用Oracle with語(yǔ)句創(chuàng)建一個(gè)公共臨時(shí)表。因?yàn)樽硬樵冊(cè)趦?nèi)存臨時(shí)表中,避免了重復(fù)解析,所以執(zhí)行效率會(huì)提高不少。臨時(shí)表在一次查詢結(jié)束自動(dòng)清除。
一般語(yǔ)法格式:
復(fù)制代碼 代碼如下:
with
alias_name1 as (subquery1),
alias_name2 as (subQuery2),
…… alias_nameN as (subQueryN)
select col1,col2…… col3
from alias_name1,alias_name2……,alias_nameN
Oracle with語(yǔ)句的例子:
復(fù)制代碼 代碼如下:
WITH Q1 AS (SELECT 3 + 5 S FROM DUAL),
Q2 AS (SELECT 3 * 5 M FROM DUAL),
Q3 AS (SELECT S, M, S + M, S * M FROM Q1, Q2)
SELECT * FROM Q3;
輸出結(jié)果:
復(fù)制代碼 代碼如下:
1 8 15 23 120
您可能感興趣的文章:- Oracle存儲(chǔ)過程循環(huán)語(yǔ)法實(shí)例分析
- Oracle顯示游標(biāo)的使用及游標(biāo)for循環(huán)
- Oracle三種循環(huán)(For、While、Loop)實(shí)現(xiàn)九九乘法表