问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ORACLE递归

发布网友 发布时间:2022-12-12 00:00

我来回答

1个回答

热心网友 时间:2023-11-28 20:13

about connect by

SELECT empno, ename, job, mgr, deptno, LEVEL, sys_connect_by_path(ename,'\'), connect_by_root(ename) FROM emp START WITH mgr IS NULL CONNECT BY mgr =  PRIOR empno

WITH T(empno, ename, job, mgr, deptno, the_level, path,top_manager) AS ( ---- 必须把结构写出来

SELECT empno, ename, job, mgr, deptno  ---- 先写锚点查询,用START WITH的条件

,1 AS the_level    ---- 递归起点,第一层

,'\'||ename        ---- 路径的第一截

,ename AS top_manager ---- 原来的CONNECT_BY_ROOT

FROM scott.EMP

WHERE mgr IS NULL ---- 原来的START WITH条件

UNION ALL  ---- 下面是递归部分

SELECT e.empno, e.ename, e.job, e.mgr, e.deptno  ---- 要加入的新一层数据,来自要遍历的emp表

,1 + t.the_level            ---- 递归层次,在原来的基础上加1。这相当于CONNECT BY查询中的LEVEL伪列

,t.path||'\'||e.ename        ---- 把新的一截路径拼上去

,t.top_manager              ---- 直接继承原来的数据,因为每个路径的根节点只有一个

FROM t, scott.emp e                    ---- 典型写法,把子查询本身和要遍历的表作一个连接

WHERE t.empno = e.mgr            ---- 原来的CONNECT BY条件

) ---- WITH定义结束

SELECT * FROM T

EMPNO ENAME      JOB        MGR DEPTNO  THE_LEVEL PATH                                                                            TOP_MANAGER

----- ---------- --------- ----- ------ ---------- -------------------------------------------------------------------------------- -----------

7839 KING      PRESIDENT          10          1 \KING                                                                            KING

7566 JONES      MANAGER    7839    20          2 \KING\JONES                                                                      KING

7698 BLAKE      MANAGER    7839    30          2 \KING\BLAKE                                                                      KING

7782 CLARK      MANAGER    7839    10          2 \KING\CLARK                                                                      KING

7999 MIKE      ANALYST    7566    30          3 \KING\JONES\MIKE                                                                KING

7499 ALLEN      SALESMAN  7698    30          3 \KING\BLAKE\ALLEN                                                                KING

7521 WARD      SALESMAN  7698    30          3 \KING\BLAKE\WARD                                                                KING

7654 MARTIN    SALESMAN  7698    30          3 \KING\BLAKE\MARTIN                                                              KING

7788 SCOTT      ANALYST    7566    20          3 \KING\JONES\SCOTT                                                                KING

7844 TURNER    SALESMAN  7698    30          3 \KING\BLAKE\TURNER                                                              KING

7900 JAMES      CLERK      7698    30          3 \KING\BLAKE\JAMES                                                                KING

7902 FORD      ANALYST    7566    20          3 \KING\JONES\FORD                                                                KING

7934 MILLER    CLERK      7782    10          3 \KING\CLARK\MILLER                                                              KING

7369 SMITH      CLERK      7902    20          4 \KING\JONES\FORD\SMITH                                                          KING

7876 ADAMS      CLERK      7788    20          4 \KING\JONES\SCOTT\ADAMS                                                          KING
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么是Medical Literature Analysis and Retrieval System (NLM)的缩 ... 医学工作者的因特网内容简介 2002年的一篇文章英文摘要被《医学文献联机数据库》(MEDLINE)收录,是否... 医学器具medline啥意思 民国市与县的关系是怎样的,市与县分别又是什么? 历代兵制中国民国兵制 冰箱运行时有水流声怎么回事? ud牛郎眼影真假判断 爆闪/没有平替❌ 牛郎眼影真假鉴别方法 鉴别❗️衰败城市牛郎眼影真假,粉质肉眼差距 孕妇特别生气对胎儿有影响吗 怀孕生气大哭动了胎气的症状 香水喷在哪里最好 香水要喷在哪个部位 电影剪辑在哪里找素材 【北蜂窝路22号院】小区附近的社区医院在哪里? 中发科创专利技术发展有限公司怎么样 99%的弹力棉牛仔衣会缩水吗 驿站寄快递挣钱吗? 提起曼联曼城利物浦热刺阿森纳切尔西等球队,你第一个会想到谁?_百度知 ... 不写一次小贝,也许您都不知道他其实是足坛第一名不副实的球员 清华92班是什么意思 斯科尔斯:曼联92班两人爱跟弗爵吵架,爵爷会认错!喜欢搭档范尼 12根孔雀毛的寓意 上海茑屋书店装修筹备有多久 急需《煎椒兔》 做法? 左右屏幕是什么意思 ...主角可以控制时间使时间暂停,和美女暧昧可以增加时间暂停的... 主角有暂停时间的超能力的小说 屏的意思 想查一本小说的名字 是本玄幻文主角拥有暂停时间的能力在现代是个学生... Oracle递归查询start with connect by prior 昆明市有到广州宗城的物流没有 云南铁路运输货物可以直接到海口吗 请问昆明发往各地洲的快递公司可以运活物嘛? 丹阳有托运电动车到昆明吗 场所码申请流程 手机怎么改照片分辨率 倒车影像显示无信号怎么处理? 老碗鱼的做法最正宗的做法 老碗鱼的做法 净月潭哪里是野营的营地 我是路痴。。想和姐妹双双去野营~ 什么是真正的恶知乎结局 什么才是真正的恶 孩子的压岁钱怎么存? 孩子的压岁钱如何保管 儿童歌曲一闪一闪亮晶晶 鱼的做法步骤图,陕西老碗鱼怎么做好吃 quartus prime精简版和标准版的区别 错误代码0xc000000f是中木马了吗? 没越狱的5S不用电脑怎样下载铃声 注册表怎么解锁!!!