sql cte



定义:

CTE(Common Table Expression) 公用表表达式,它是在单个语句的执行范围内定义的临时结果集,只在查询期间有效。它可以自引用,也可在同一查询中多次引用,实现了代码段的重复利用。


分类:

递归 与 非递归


语法:

with cte (id ,pid,level) as
 (select id,pid,1 as level from Tab where pid=1
  union all
 select t.id,a.pid,level+1 from cte a,Tab t where t.pid=a.id
 )
select * from cte


注意:

1.使用CTE的SQL语句应紧跟在相关的CTE后面。
2.多重CTE中间用逗号,分隔。
3.可以被紧跟着的一条SQL语句所使用多次,但不能被紧跟着的多条SQL语句使用。

可用于树形结构递归查询





你可能感兴趣的:(Oracle)