oracle的递归写法:地区层级

发布时间 2023-03-24 16:31:22作者: DaenMax

前言

mysql的递归看我另一篇博文:https://www.cnblogs.com/daen/p/17252369.html

表结构

数据

查询子节点

示例

SELECT
	cx1.* 
FROM
	PHCP_CITY cx1 
WHERE
	cx1.IS_ENABLE = 1 START WITH cx1.CITY_CODE = '370100' CONNECT BY PRIOR cx1.CITY_CODE = cx1.PARENT_ID

结果

不含自己的写法

加个不等于即可

查询父节点

示例

SELECT
	cx1.* 
FROM
	PHCP_CITY cx1 
WHERE
	cx1.IS_ENABLE = 1 START WITH cx1.CITY_CODE = '370112' CONNECT BY cx1.CITY_CODE = PRIOR cx1.PARENT_ID

结果

不含自己的写法

加个不等于即可

查询子节点和父节点的区别

其实就是将 PRIOR放到了PARENT_ID 前面而已