oracle “with as”短语,也叫做子查询部分。
如果一个sql片段被重复使用或者sql本身比较繁琐,可以考虑将sql片段单独拿出来,起一个别名。
例:
with
e as (select * from scott.emp),
d as (select * from scott.dept)
select * from e, d where e.deptno = d.deptno;
优点:构造子查询,结构会更清晰,增加了sql的易读性;提高了性能(一次分析,多次使用);