点击上方SQL数据库开发,关注获取SQL视频教程
SQL专栏
SQL数据库基础知识汇总SQL数据库高级知识汇总递归
递归是指程序调用自身的一种编程技巧,在SQL中也有递归查询。下面我们通过一个省市区的示例来讲解递归查询的用法。
问题
有如下一张表City,
希望得到如下结果
该如何写这个查询?
问题分析
我们从上面的问题中发现,省市区全部在同一列中,而他们的ParentID有某种联系。仔细看市一级的ParentID正好是省的ID,而区一级的ParentID正好是市的ID,这完全符合我们递归定义。
示例代码
根据我们上面的分析我们先写出递归部分
--递归部分
;WITH CTE AS (
SELECT ID,NAME,ParentId,1 A