您的位置:首页 > 其它

遍历查询+从非根节点开始遍历+从下向上遍历树+从层次化查询中删除节点和分支

2017-05-21 23:04 405 查看
遍历查询



1从非根节点开始遍历

使用start with实现,下面查询从jones开始

select level,empno,lpad(’ ‘,6*level-1)||ename name

from emp

start with ename=’JONES’

connect by prior empno=mgr;



2从下向上遍历树

实现方法是交换父节点与子节点在connect by prior字句中顺序,

例如:

connect by prior mgr=empno;可以将子节点的mgr连接到父节点的empno中。

select level,empno,lpad(’ ‘,6*level-1)||ename name

from emp

start with ename=’SMITH’

connect by prior mgr=empno;



3从层次化查询中删除节点和分支

使用where 字句从查询数中删除某个特别的节点

没有除去JONES的图



下面删除jones子节点。

select level,empno,lpad(’ ‘,6*level-1)||ename name

from emp

where ename !=’JONES’

start with ename=’KING’

connect by prior empno=mgr;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐