现有表Table_one,表中数据为:
现在查找一下id为001001的子孙后代
select * from Table_one
start with id = ‘001001’
connect by prior id = parentid
结果为:
语法:
select * from table [start with condition1]
connect by [prior] id=parentid
解析:
condition1 为条件,表示从哪个地方开始查。
id 为后代id,parentid为父辈id。
示例:
select * from Table_one
start with id = ‘001001’
connect by prior id = parentid
一些属性
level:标记层级级数,最上层节点为1,之后为2、3……。
CONNECT_BY_ISCYCLE:标记此节点是否为某一个祖先节点的父节点,导致循环,1为是,0为否。
CONNECT_BY_ISLEAF :标记此节点是否为叶子节点,即没有子节点,1为是,0为否。
CONNECT_BY_ROOT:标记此节点的祖先节点,后面加列名或表达式,取祖先节点的记录值。