mysql 树形结构查询(向上查询、向下查询)

树形向上查询(前提:Mysql8.0才能用

WITH RECURSIVE temp as (
SELECT t.* FROM sys_depart t WHERE t.id = #{id}
UNION ALL
SELECT t.* FROM sys_depart t INNER JOIN temp ON t.id = temp.parent_id
)
SELECT * FROM temp WHERE org_type = '2'

 树形向上查询(版本不限制

复制代码
SELECT
    node.id,
    node.parent_id,
    node.title,
    path.depth 
FROM
    (
    SELECT
        @r AS _id,
        ( SELECT @r := parent_id FROM water_depart WHERE id = _id ) AS parent_id,
        @l := @l + 1 AS depth 
    FROM
        ( SELECT @r := #{id}, @l := 0 ) vars,
        water_depart h 
    WHERE
        @r != 0 
    ) path,
    water_depart node 
WHERE
    node.id = path._id
复制代码

树形向下查询(前提:Mysql8.0才能用

复制代码

WITH RECURSIVE tree AS (
SELECT id, parent_id, title, level FROM water_depart WHERE id = #{id}
UNION ALL
SELECT d.id, d.parent_id, d.title, d.level FROM water_depart d
INNER JOIN tree t ON t.id = d.parent_id
)
SELECT * FROM tree;
 
复制代码

 

posted @   卡农的忧伤ろ◆  阅读(288)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示