注:ums_domain 表XX省数据为例
一、语法格式:
select *
from tablename
where 条件
start with code = 'xxxxxx'
connect by code = prior parent_domain_code;
ps:执行顺序为先执行start with connect by prior,然后再按照where条件进行过滤。
二、语法说明:
start with
: 遍历的开始节点,可以是父节点也可以是子节点connect by prior
: 连接条件。关键词prior
,prior
跟父节点列放在一起,就是往父结点方向遍历,prior跟子结点列放在一起,则往叶子结点方向遍历,父节点与子节点谁放在“=”前都无所谓,关键是prior跟谁在一起。- 在具有树结构的表中,每一行数据都是树结构中的一个节点,由于节点所处的层次位置不同,所以每行记录都可以有一个层号。层号根据节点与根节点的距离确定。不论从哪个节点开始,该起始根节点的层号始终为1,根节点的子节点为2。需要注意的是这里所说的根节点指的是
start with
后面的那个节点