oracle查询所有叶子节点

select * from T_PM_MTRL t where t.mtrl_code='0000000060000004'
1 SELECT * FROM T_PM_MTRL m WHERE m.upper_mtrl_code IS NULL; 
2查找一个节点的直属子节点(所有儿子)。 如果查找的是直属子类节点,也是不用用到树型查询的。
   SELECT * FROM T_PM_MTRL m WHERE  m.upper_mtrl_code = '0000000000000000';   

 3.查找一个节点的所有 直属子节点(所有后代)。
   SELECT * FROM T_PM_MTRL m START WITH mtrl_code = '0000000000000000' CONNECT BY
     m.upper_mtrl_code = PRIOR  mtrl_code   

4.查询所有叶子节点。    
      select * from (SELECT   CONNECT_BY_ISLEAF, m.*   FROM T_PM_MTRL m  START WITH m.upper_mtrl_code IS NULL  
      CONNECT BY   m.upper_mtrl_code = PRIOR  mtrl_code) t  where  t.CONNECT_BY_ISLEAF=1 ;  

参考:https://blog.csdn.net/qiange520/article/details/50515317

猜你喜欢

转载自blog.csdn.net/oldstreet61/article/details/81082772