📚 每日SQL小知识 🐍
每天花1分钟,解锁一个SQL实用技巧/冷知识!无论是新手还是老手,这里都有让你眼前一亮的编程干货。
✨ 今日主题:CTE递归查询实战
话不多说,直接上代码!
WITH RECURSIVE org_tree AS (
-- 基础查询(根节点)
SELECT id, name, parent_id, 1 AS level
FROM organization
WHERE parent_id IS NULL
UNION ALL
-- 递归查询(子节点)
SELECT o.id, o.name, o.parent_id, ot.level + 1
FROM organization o
JOIN org_tree ot ON o.parent_id = ot.id
WHERE level < 5 -- 防止无限循环
)
SELECT
id,
LPAD(' ', (level-1)*4, ' ') || name AS org_chart
FROM org_tree
ORDER BY level, id;
📊 输出示例:
1 总公司
4 技术部
5 前端组
6 后端组
2 市场部
你学会了吗?
857

被折叠的 条评论
为什么被折叠?



