您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Oracle中sql中的树结构。如何在SQL Oracle中显示树,子节点和父节点

Oracle中sql中的树结构。如何在SQL Oracle中显示树,子节点和父节点

SELECT *
FROM   Employee
START WITH ParentID IS NULL
CONNECT BY PRIOR ID = ParentID
ORDER SIBLINGS BY LastName, FirstName, ID;

您不需要为此进行分层查询(父级由bind变量指定:parent_id

SELECT *
FROM   Employee
WHERE  ParentID = :parent_id
ORDER BY LastName, FirstName, ID;

与整个树相同的查询,但是起点不同(父级由bind变量指定:parent_id

SELECT *
FROM   Employee
START WITH ParentID = :parent_id
CONNECT BY PRIOR ID = ParentID
ORDER SIBLINGS BY LastName, FirstName, ID;

与上一个查询类似,但取CONNECT BY反,您无需订购兄弟姐妹,因为每个员工只有一名直属经理。(员工由bind变量给定:employee_id

SELECT *
FROM   Employee
START WITH ID = :employee_id
CONNECT BY PRIOR ParentID = ID;

与上一个查询相同,但具有LEVEL = 2获取直接父行的过滤器。(员工由bind变量给定:employee_id

SELECT e.*
FROM   Employee e
WHERE  LEVEL = 2
START WITH ID = :employee_id
CONNECT BY PRIOR ParentID = ID;
SQLServer 2022/1/1 18:26:50 有454人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶