with..as相当于一张中间表,可以简单理解为sql片段
--单个别名
with aliasName as (select ....)
select * from aliasName
-- 多个别名
with
tmp as (select * from tb_name),
tmp2 as (select * from tb_name2),
tmp3 as (select * from tb_name3),
…
例字
--相当于建了个e临时表
with e as (select * from scott.emp e where e.empno=7499)
select * from e;
--相当于建了e、d临时表
with
e as (select * from scott.emp),
d as (select * from scott.dept)
select * from e, d where e.deptno = d.deptno;
with as 的这种语法适合和union all搭配使用
with temp1 as (select 'female' sex, 'zhangsan' stu_name from dual),
temp2 as (select 'male' sex, 'lisi' stu_name from dual),
temp3 as (select 'female' sex, 'wangwu' stu_name from dual)
select * from temp1
union all
select * from temp2
union all
select * from temp3
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。