news 2025/12/17 11:21:46

Mysql 8.0+ 的递归查询WITH RECURSIVE

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Mysql 8.0+ 的递归查询WITH RECURSIVE

MySQL with Recursive是一种基于递归思想的MySQL查询方式,可以实现对数据的递归查询和处理,返回符合条件的数据,在MySQL 8.0版本中,该功能被正式引入。

这种递归查询方式用于单表自关联,可以应用在很多场景下,比如对于树形结构、层级结构的数据处理,以及对数据进行分类汇总等。比如在开发中常见的有部门层级查询,省市区结构查询。

一、基本递归语法
WITH recursive r as (
-- 递归基:由此开始递归
select id,parent_id,name from category where id = 1
union ALL
-- 递归步:关联查询
select c.id,c.parent_id,c.name
from category c inner join r
-- r作为父表,c作为子表,所以查询条件是c的parent_id=r.id
where r.id = c.parent_id
)
select id,parent_id,name from r

二、添加层级 path、与树形自关联结构(用部门id联结)

WITH RECURSIVE department_tree (department_id, department_name, parent_department_id, depth, path) AS (
SELECT
department_id,
department_name,
parent_department_id,
1 AS depth,
CAST(department_id AS CHAR(200)) AS path
FROM company_department
WHERE parent_department_id IS NULL
UNION ALL
SELECT
cd.department_id,
cd.department_name,
cd.parent_department_id,
dt.depth + 1 AS depth,
CONCAT(dt.path, ',', cd.department_id) AS path
FROM company_department cd
JOIN department_tree dt ON cd.parent_department_id = dt.department_id
)
SELECT
department_id, department_name, parent_department_id, depth, path
FROM department_tree
ORDER BY path;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/16 0:12:01

MouseClick:革命性鼠标连点器如何彻底改变你的工作效率?

MouseClick:革命性鼠标连点器如何彻底改变你的工作效率? 【免费下载链接】MouseClick 🖱️ MouseClick 🖱️ 是一款功能强大的鼠标连点器和管理工具,采用 QT Widget 开发 ,具备跨平台兼容性 。软件界面美观…

作者头像 李华
网站建设 2025/12/16 0:11:09

比Codex更高效?Seed-Coder-8B-Base的代码生成效率实测

比Codex更高效?Seed-Coder-8B-Base的代码生成效率实测 在现代软件开发中,一个看似微不足道的等待——几秒的自动补全延迟、一次不准确的建议、一段需要反复修改的生成代码——日积月累下来,可能就是开发者数小时的时间浪费。而当AI开始介入编…

作者头像 李华
网站建设 2025/12/16 0:10:50

layui-vue:企业级Vue组件库的终极解决方案

在当今快速发展的前端领域,企业级应用对UI组件的需求日益增长。layui-vue作为一款基于Vue 3.0的企业级UI组件库,凭借其出色的性能和丰富的功能,正成为众多开发者的首选工具。 【免费下载链接】layui-vue An enterprise-class UI components b…

作者头像 李华
网站建设 2025/12/16 0:10:48

老Mac升级革命:OpenCore Legacy Patcher让旧设备重获新生

老Mac升级革命:OpenCore Legacy Patcher让旧设备重获新生 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 如果你的MacBook Pro 2011还在运行High Sierra&#…

作者头像 李华
网站建设 2025/12/16 0:10:39

HS2-HF_Patch终极指南:一键解锁游戏完整功能

还在为HoneySelect2的语言障碍和功能限制而烦恼吗?HS2-HF_Patch就是你需要的完美解决方案!这款智能补丁能够自动完成游戏翻译、解除限制,并提供200精选插件,让你的游戏体验瞬间升级到全新高度。🎮 【免费下载链接】HS2…

作者头像 李华
网站建设 2025/12/16 0:10:28

三部门力推“AI+消费”金融支持;SubTrack++革新模型训练;脑机接口完成首例临床

一、政策与产业聚焦金融支持“人工智能消费”新举措:商务部、中国人民银行、金融监管总局三部门联合发布通知,要求积极探索金融支持“人工智能消费”等消费新业态新模式的有效举措,提供更具多样性、差异化的金融服务。中国AI产业规模预计突破…

作者头像 李华