2016年8月19日 Oracle如何查询存在层级结构的数据

场景介绍:

  一个部门下有多个子部门,子部门下还有多个子部门,知道前部门id,怎么将子部门(包含子子部门)信息全部查出。各部门之间的父子关系是通过一张表维护的。如下表DEPT:

id(部门id) depname(部门名称) pid(父部门id)
1 科技部 0
2 科技一部 1
3 科技二部 1
4 科技一部一组 2
5 科技一部二组 2
6 科技二部一组 3
7 科技二部一组一群 6

   现在我只知道,科技二部id为3.那么如何查询科技二部下的所有部门:Sql如下:

    select t.id,t.depname from DEPT t start with t.pid='3'
    connect by prior t.id = t.pid

    此语句的查询结果为:

    6  科技二部一组

    7  科技二部一组一群

posted @ 2016-08-19 17:12  流心语  阅读(169)  评论(0编辑  收藏  举报