每日SQL 4.29

📚 每日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        市场部

你学会了吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值