oracle 层次查询判断叶子和根节点

本文介绍了在Oracle 9i和10g中如何查询层次数据的叶节点和根节点。通过示例脚本展示了使用connect_by_isleaf和connect_by_root等方法进行查询的方法。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

oracle 9i判断是叶子或根节点,是比较麻烦的一件事情,SQL演示脚本如下:

  1. DROP TABLE idb_hierarchical;  
  2. create TABLE idb_hierarchical  
  3. (  
  4. id number,  
  5. parent_id number,  
  6. str varchar2(10)  
  7. );  
  8.   
  9. insert into idb_hierarchical values(1,null,'A');  
  10. insert into idb_hierarchical values(2,1,'B');  
  11. insert into idb_hierarchical values(3,2,'C');  
  12. insert into idb_hierarchical values(4,3,'D');  
  13. insert into idb_hierarchical values(5,2,'E');  
  14. insert into idb_hierarchical values(6,2,'F');  
  15. insert into idb_hierarchical values(7,3,'G');  
  16. insert into idb_hierarchical values(8,4,'H');  
  17. insert into idb_hierarchical values(9,4,'I');  
  18. insert into idb_hierarchical values(10,null,'J');  
  19. insert into idb_hierarchical values(11,10,'K');  
  20. insert into idb_hierarchical values(12,11,'L');  
  21. insert into idb_hierarchical values(13,10,'M');  
DROP TABLE idb_hierarchical;create TABLE idb_hierarchical(id number,parent_id number,str varchar2(10));insert into idb_hierarchical values(1,null,'A');insert into idb_hierarchical values(2,1,'B');insert into idb_hierarchical values(3,2,'C');insert into idb_hierarchical values(4,3,'D');insert into idb_hierarchical values(5,2,'E');insert into idb_hierarchical values(6,2,'F');insert into idb_hierarchical values(7,3,'G');insert into idb_hierarchical values(8,4,'H');insert into idb_hierarchical values(9,4,'I');insert into idb_hierarchical values(10,null,'J');insert into idb_hierarchical values(11,10,'K');insert into idb_hierarchical values(12,11,'L');insert into idb_hierarchical values(13,10,'M');

示例数据清单如下:

  1. SELECT RPAD('+',LEVEL*2+1,'.')||STR STR_LEVEL,ID,PARENT_ID,LEVEL LVL  
  2.   FROM idb_hierarchical  
  3.  START WITH PARENT_ID IS NULL  
  4. CONNECT BY PARENT_ID = PRIOR ID;  
SELECT RPAD('+',LEVEL*<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值