SQL查询下级(START WITH CONNECT BY PRIOR)

示例表:AREA

ID NAME PARENT_ID
0 中国
1 北京市 0
2 西城区 1
3 朝阳区 1
4 山西省 0
5 太原市 4
6 运城市 4

PRIOR 分两种放法:

  1. 放在前面,表示start with 指定的节点作为根节点,按照从上到下的顺序遍历
SELECT * FROM AREA START WITH ID='1' CONNECT BY PRIOR ID=PARENT_ID;

查询结果:

ID NAME PARENT_ID
1 北京市 0
2 西城区 1
3 朝阳区 1
  1. 放在后面,表示start with指定的节点作为最底层节点,按照从下到上的顺序遍历
SELECT * FROM AREA START WITH ID='5' CONNECT BY ID= PRIOR PARENT_ID;

查询结果:

ID NAME PARENT_ID
0 中国
4 山西省 0
5 太原市 4

你可能感兴趣的:(数据库,sql,database)