Oracle中遍历查询下属部门信息

一条人员信息记录中,含有部门标杆信息unified_code,以及父部门标杆编码parent_org_unified_code,现在需要查询一个部门及其下属部门,SQL语句如下:

1 select de.dept_name,de.unified_code
2 from cimsuser.t_org_department de
3 start with de.unified_code= 'DP00004'
4 connect by prior de.unified_code = de.parent_org_unified_code;

其中,DP00004是我需要查询的根部门,查询结果为遍历后的部门及其下属部门信息,执行步骤为:

第一步:从根节点开始;
第二步:访问该节点;
第三步:判断该节点有无未被访问的子节点,若有,则转向它最左侧的未被访问的子节,并执行第二步,否则执行第四步;
第四步:若该节点为根节点,则访问完毕,否则执行第五步;
第五步:返回到该节点的父节点,并执行第三步骤。


总之:扫描整个树结构的过程也即是中序遍历树的过程。

原文地址:https://www.cnblogs.com/sere/p/4721805.html