图例:假设已经知道安徽省的id为 1218 ,我想查询安徽省下面所有相关信息
----1218 安徽省
----1220 合肥市
----1226 1224 美容店
oracle sql 这样写
select
*
from
fht_enterprise start with id = 1218 connect
by
prior id = parentid
即可查询到数据如下
这个是根据上级查询下级 ,其实我们也可以根据下级查询相关的上级数据
start with 子句:遍历起始条件,有个小技巧,如果要查父结点,这里可以用子结点的列,反之亦然。
connect by 子句:连接条件。关键词prior,prior跟父节点列parentid放在一起,就是往父结点方向遍历;prior跟子结点列subid放在一起,则往叶子结点方向遍历, parentid、subid两列谁放在“=”前都无所谓,关键是prior跟谁在一起。
order by 子句:排序,不用多说。