oracle with的用法

转贴:http://database.51cto.com/art/201010/231528.htm

Oracle数据库中,使用with语句可以实现子查询,提高语句执行的效率,下文对with语句的用法作了详细的介绍,供您参考学习。

AD:

 

Oracle with语句是经常可以见到的语句,下面就为您详细介绍Oracle with语句的用法,如果您对Oracle with语句感兴趣的话,不妨一看。

当查询中多次用到某一部分时,可以用Oracle with语句创建一个公共临时表。因为子查询在内存临时表中,避免了重复解析,所以执行效率会提高不少。临时表在一次查询结束自动清除。

一般语法格式:

   
   
  1. with   
  2. alias_name1 as    (subquery1),  
  3. alias_name2 as    (subQuery2),  
  4. ……  
  5. alias_nameN as    (subQueryN)  
  6. select col1,col2…… col3   
  7.      from alias_name1,alias_name2……,alias_nameN 

Oracle with语句的例子:

   
   
  1. SQL> WITH  
  2. Q1 AS (SELECT 3 + 5 S FROM DUAL),  
  3.     Q2 AS (SELECT 3 * 5 M FROM DUAL),  
  4.     Q3 AS (SELECT S, M, S + M, S * M FROM Q1, Q2)  
  5. SELECT * FROM Q3; 

输出结果:

   
   
  1. S M S+M S*M  
  2. ---------- ---------- ---------- ----------  
  3. 8 15 23 120  
  4.  
扫描二维码关注公众号,回复: 1407838 查看本文章

猜你喜欢

转载自sagewsg.iteye.com/blog/1436294