oracle 模糊查询树结构 (查询父子集合)

oracle中可以使用start with connect by 查询树形集合,
用来查询层级关系很是好用

--当模糊查询出来的结果父级重复时可以去重即可
--查询父级(包含自己)
SELECT DISTINCT ID,PID,NAME FROM TABLE_NAME A 
START WITH EXISTS ( SELECT ID FROM TABLE_NAME WHERE NAME_TYPE = '5' --做层级限制
AND name LIKE '%于家%' AND A.ID=ID ) CONNECT BY PRIOR pid = id ORDER BY DEPTTYPE

--查询子集(包含自己)
SELECT DISTINCT ID,PID,NAME FROM TABLE_NAME A 
START WITH EXISTS ( SELECT ID FROM TABLE_NAME WHERE NAME_TYPE = '5' 
AND name LIKE '%于家%' AND A.ID=ID ) CONNECT BY PRIOR id= pid ORDER BY	DEPTTYPE


父级子集union即可得到整个树了
开发中遇到了这个需求,想了半天,没想出其他查询方法。仅以此记录

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值