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

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

----1218 安徽省

----1220  合肥市

----1226   1224  美容店


oracle  sql  这样写

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

即可查询到数据如下



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

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

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

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


  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_28917403

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值