欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 子查询因子化 浅谈(with的使用)

程序员文章站 2022-05-13 11:08:07
...

近来学习Oracle,想要提高自己所写语句的效率和易读性,今天的笔记是关于子查询因子话这么一个东西

近来学习Oracle,想要提高自己所写语句的效率和易读性,,今天的笔记是关于子查询因子话这么一个东西

因子化的查询不一定可以提高效率,但是一定可以再提高程序的可读性方面成效显著


--with 语句

with sales_c (

select sales,e_NO,e_name from emplyee

)

select * from sales_c;

--查询的结果就是( select sales,e_NO,e_name from emplyee)这张字表中的内容

--with一次声明,在下面的例子中可以随意的使用,提升了代码的可读性

--例如

with sales_c (

select sales,e_NO,e_name from emplyee

),

name_c(

select sales,e_name from sales_c

)

select * from sales_c,name_c;

--读起来确实很方便

原理:Oracle会把with query_name的这个query_name作为一个临时表或者视图固化下来,提升查询的效率