通过子节点向根节点追朔.
select * from test start with tid=2 connect by prior fatherid=tid
通过根节点遍历子节点(不包含根节点).
select * from test start with fatherid=0 connect by prior tid=fatherid
通过根节点遍历子节点(包含根节点).
select * from test start with tid=0 connect by prior tid=fatherid
可通过level 关键字查询所在层次.
select a.*,level from test a start with fatherid=0 connect by prior tid=fatherid
备注:
start with ...connect by 的用法, start with 后面所跟的就是就是递归的种子。
递归的种子也就是递归开始的地方 connect by 后面的"prior" 如果缺省:则只能查询到符合条件的起始行,并不进行递归查询;
connect by prior 后面所放的字段是有关系的,它指明了查询的方向。prior 后跟父id就往根节点方向遍历,prior后跟子节点id就往子节点方向遍历。
生活不止眼前的苟且,还有明天和后天的苟且!