1 With
子句
1.1
学习目标
掌握
子句用法,并且了解
子句能够提高查询效率的原因。
1.2 With
子句要点
with
子句的返回结果存到用户的临时表空间中,只做一次查询,反复使用,提高效率。
如果定义了
with
子句,而在查询中不使用,那么会报
ora-32035
错误:未引用在
with
子
句中定义的查询名。
前面的
with
子句定义的查询在后面的
with
子句中可以使用。但是一个
with
子句内部不
能
嵌套
with
子句。
当一个查询块名字和一个表名或其他的对象相同时,解析器从内向外搜索,优先使用
子查询块名字。
with
查询的结果列有别名,引用的时候必须使用别名或
*
。
6. with
有可能影响执行计划。
1.3
with
子句语法
With alias_name as (select1), --as
和
select
中的括号都不能省略
alias_name2 as (select2),--
后面的没有
with
,逗号分割,同一个主查询同级别地方,
with
子
查询只能定义一次
…
alias_namen as (select n) –
与下面的实际查询之间没有逗号
Select ….
评论