近来学习oracle,想要提高自己所写语句的效率和易读性,今天的笔记是关于子查询因子话这么一个东西
因子化的查询不一定可以提高效率,但是一定可以再提高程序的可读性方面成效显著
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
--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作为一个临时表或者视图固化下来,提升查询的效率