Oracle 树结构查询

同事写的树结构查询,记录一下


表结构很简单  就两列 

RANGID     NUMBER

RANGNAME  VARCHAR2


主要根据RANGID数值来表示层级关系


SELECT  t1.rangid,

        t1.rangname,
        decode(( SELECT count(*)
          FROM test t2 
          WHERE t2.rangid > t1.rangid
          AND t2.rangid <  (t1.rangid + power(10,(5-length(rtrim(t1.rangid,'0')))))),0,'叶节点','非叶节点') falg
FROM test t1
WHERE t1.rangid >= 20000

AND t1.rangid    < 30000 ;


结果:


你可能感兴趣的:(Java)