oracle 查询树形结构数据

1. 知道父级查询父级下所有子集

表:

 select * from table_name a start with a.ID=1 connect by prior id=P_ID;

id:1是一级   id:2 和 id:4 是 二级  id:3 是三级  id:5 是 四级

2. 根据子集信息查询所有的父级

select * from PHO_ENTITIES start with ENITY_TYPE_CODE = 'C01-01' connect by prior P_ID = id;

ENITY_TYPE_CODE = 'C01-01' 可以查询到唯一 一条数据 可以更换成其他字段;

3.查询父节点下所有的子节点

oracle 提供2个函数,(1)level 数据属于哪一个等级 (2)树的最末端的值或者这个数据没有子节点了

 select a.*,LEVEL,connect_by_isleaf  from PHO_ENTITIES a start with P_ID='0' connect by prior id=P_ID;

connect_by_isleaf   值为1 的是最末端;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值