oracle 树查询 根据上级查询所有下级,根据下级查询相关上级数据

oracle 树查询 根据上级查询所有下级,根据下级查询相关上级数据_第1张图片

图例:假设已经知道安徽省的id为 1218  ,我想查询安徽省下面所有相关信息  

----1218 安徽省

----1220  合肥市

----1226   1224  美容店


oracle  sql  这样写

select
        * 
    from
        fht_enterprise  start with id = 1218 connect 
    by
        prior id =  parentid

即可查询到数据如下

oracle 树查询 根据上级查询所有下级,根据下级查询相关上级数据_第2张图片


这个是根据上级查询下级 ,其实我们也可以根据下级查询相关的上级数据

start with 子句:遍历起始条件,有个小技巧,如果要查父结点,这里可以用子结点的列,反之亦然。

connect by 子句:连接条件。关键词prior,prior跟父节点列parentid放在一起,就是往父结点方向遍历;prior跟子结点列subid放在一起,则往叶子结点方向遍历,     parentid、subid两列谁放在“=”前都无所谓,关键是prior跟谁在一起。

order by 子句:排序,不用多说。


你可能感兴趣的:(oracle,数据笔记)