sql语句start with connect by prior语法解析
START WITH CONNECT BY PRIOR用于组织结构查询、省市查询、多级菜单查询(商城系统),通过父级id查询所有的子级、以及通过当前id查询父级。
prior分两种放法:
1 放在子节点端 表示start with 指定的节点作为根节点,按照从上到下的顺序遍历
2 放在父节点端 表示start with指定的节点作为最底层节点,按照从下到上的顺序遍历
areacode | parentcode | addressname |
1012 | 1000 | 河北省 |
1014 | 1012 | 石家庄市 |
select * from address t start with t.areacode = ? connect by prior t.areacode = t.parentcode
以areacode为节点 ,向下查询所属的节点
select * from address t start with t.parentcode= ? connect by prior t.parentcode=t.areacode
以parentcode为节点 ,向上查询所属的节点