当查询中多次用到某一部分时,可以用Oracle with语句创建一个公共临时表。因为子查询在内存临时表中,避免了重复解析,所以执行效率会提高不少。临时表在一次查询结束自动清除。
一般语法格式:
复制代码 代码如下:
复制代码
with
alias_name1 as (subquery1),
alias_name2 as (subQuery2),
…… alias_nameN as (subQueryN)
select col1,col2…… col3
from alias_name1,alias_name2……,alias_nameN
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语句的例子:
复制代码 代码如下:
复制代码
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;
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;
输出结果:
复制代码 代码如下:
复制代码
1 8 15 23 120
1 8 15 23 120
最后
以上就是天真金鱼最近收集整理的关于oracle while的用法示例分享的全部内容,更多相关oracle内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复