转贴:http://database.51cto.com/art/201010/231528.htm
Oracle数据库中,使用with语句可以实现子查询,提高语句执行的效率,下文对with语句的用法作了详细的介绍,供您参考学习。
AD:
Oracle with语句是经常可以见到的语句,下面就为您详细介绍Oracle with语句的用法,如果您对Oracle with语句感兴趣的话,不妨一看。
当查询中多次用到某一部分时,可以用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
Oracle with语句的例子:
- SQL> 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;
输出结果:
- S M S+M S*M
- ---------- ---------- ---------- ----------
- 8 15 23 120
本文详细介绍了Oracle with语句的用法,包括其如何创建公共临时表以提高执行效率。通过实例演示了with语句的语法格式,并展示了如何在查询中多次使用同一部分来优化性能。
2314

被折叠的 条评论
为什么被折叠?



