Oracle with语句的用法

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语句的例子:

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

引用\[2\]:总结:使⽤WITH AS 语句可以为⼀个⼦查询语句块定义⼀个名称,在查询语句的其他地⽅引⽤这个⼦查询。Oracle 数据库像对待内联视图或临时表⼀样对待 被引⽤的⼦查询名称,从⽽起到⼀定的优化作⽤在同级select前有多个查询定义的时候,第1个⽤with,后⾯的不⽤with,并且⽤逗号隔开。最后⼀个with ⼦句与下⾯的查询之间不能有逗号,只通过右括号分割,with ⼦句的查询必须⽤括号括起来。 问题: Oracle中的WITH语句是用来做什么的? 回答: Oracle中的WITH语句可以为一个子查询语句块定义一个名称,并在查询语句的其他地方引用这个子查询。它类似于对待内联视图或临时表一样对待被引用的子查询名称,从而起到一定的优化作用。使用WITH语句可以提高查询的可读性和性能。\[2\] #### 引用[.reference_title] - *1* *2* [Oracle with使用方法以及递归](https://blog.csdn.net/m0_56069948/article/details/124395684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Oracle WITH语句用法](https://blog.csdn.net/qq_39827640/article/details/107634843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值