|
用这段代码会看得更清楚些:
select rownum,
level,
sys_connect_by_path(id, ',') path,
id,
connect_by_isleaf isleaf
from t
connect by nocycle level < 2
order by rownum, level, path;
select rownum,
level,
sys_connect_by_path(id, ',') path,
id,
connect_by_isleaf isleaf
from t
connect by nocycle level < 3
order by rownum, level, path;
select rownum,
level,
sys_connect_by_path(id, ',') path,
id,
connect_by_isleaf isleaf
from t
connect by nocycle level < 4
order by rownum, level, path;
下面是执行结果:
- CHENCH@orcl> select rownum,
- 2 level,
- 3 sys_connect_by_path(id, ',') path,
- 4 id,
- 5 connect_by_isleaf isleaf
- 6 from t
- 7 connect by nocycle level < 2
- 8 order by rownum, level, path;
- ROWNUM LEVEL PATH ID ISLEAF
- ---------- ---------- ---------- -- ----------
- 1 1 ,A A 1
- 2 1 ,B B 1
- 3 1 ,C C 1
- Elapsed: 00:00:00.01
- CHENCH@orcl>
- CHENCH@orcl> select rownum,
- 2 level,
- 3 sys_connect_by_path(id, ',') path,
- 4 id,
- 5 connect_by_isleaf isleaf
- 6 from t
- 7 connect by nocycle level < 3
- 8 order by rownum, level, path;
- ROWNUM LEVEL PATH ID ISLEAF
- ---------- ---------- ---------- -- ----------
- 1 1 ,A A 0
- 2 2 ,A,A A 1
- 3 2 ,A,B B 1
- 4 2 ,A,C C 1
- 5 1 ,B B 0
- 6 2 ,B,A A 1
- 7 2 ,B,B B 1
- 8 2 ,B,C C 1
- 9 1 ,C C 0
- 10 2 ,C,A A 1
- 11 2 ,C,B B 1
- ROWNUM LEVEL PATH ID ISLEAF
- ---------- ---------- ---------- -- ----------
- 12 2 ,C,C C 1
- 12 rows selected.
- Elapsed: 00:00:00.01
- CHENCH@orcl>
- CHENCH@orcl> select rownum,
- 2 level,
- 3 sys_connect_by_path(id, ',') path,
- 4 id,
- 5 connect_by_isleaf isleaf
- 6 from t
- 7 connect by nocycle level < 4
- 8 order by rownum, level, path;
- ROWNUM LEVEL PATH ID ISLEAF
- ---------- ---------- ---------- -- ----------
- 1 1 ,A A 0
- 2 2 ,A,A A 0
- 3 3 ,A,A,A A 1
- 4 3 ,A,A,B B 1
- 5 3 ,A,A,C C 1
- 6 2 ,A,B B 0
- 7 3 ,A,B,A A 1
- 8 3 ,A,B,B B 1
- 9 3 ,A,B,C C 1
- 10 2 ,A,C C 0
- 11 3 ,A,C,A A 1
- ROWNUM LEVEL PATH ID ISLEAF
- ---------- ---------- ---------- -- ----------
- 12 3 ,A,C,B B 1
- 13 3 ,A,C,C C 1
- 14 1 ,B B 0
- 15 2 ,B,A A 0
- 16 3 ,B,A,A A 1
- 17 3 ,B,A,B B 1
- 18 3 ,B,A,C C 1
- 19 2 ,B,B B 0
- 20 3 ,B,B,A A 1
- 21 3 ,B,B,B B 1
- 22 3 ,B,B,C C 1
- ROWNUM LEVEL PATH ID ISLEAF
- ---------- ---------- ---------- -- ----------
- 23 2 ,B,C C 0
- 24 3 ,B,C,A A 1
- 25 3 ,B,C,B B 1
- 26 3 ,B,C,C C 1
- 27 1 ,C C 0
- 28 2 ,C,A A 0
- 29 3 ,C,A,A A 1
- 30 3 ,C,A,B B 1
- 31 3 ,C,A,C C 1
- 32 2 ,C,B B 0
- 33 3 ,C,B,A A 1
- ROWNUM LEVEL PATH ID ISLEAF
- ---------- ---------- ---------- -- ----------
- 34 3 ,C,B,B B 1
- 35 3 ,C,B,C C 1
- 36 2 ,C,C C 0
- 37 3 ,C,C,A A 1
- 38 3 ,C,C,B B 1
- 39 3 ,C,C,C C 1
- 39 rows selected.
- Elapsed: 00:00:00.04
复制代码
[ 本帖最后由 addm 于 2008-11-20 16:22 编辑 ] |
|