select t.id, -- 部门ID
LPAD(level||'|-',LEVEL*2,' ')||T.名称, -- 部门名称
t.上级id, -- 上级部门ID
(prior t.名称) 上级名称, -- 上级部门名称
level, -- 部门层级
ltrim(sys_connect_by_path(t.名称, ','), ','), -- 部门路径
connect_by_isleaf --是否叶子
from 部门表 t where t.撤档时间>sysdate
start with t.上级id is null -- 从根节点开始查询
connect by prior t.id = t.上级id -- 通过上下级关系连接查询
oracle 层级关系
于 2023-10-24 09:35:37 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)