下面是在 MySQL 中查询某个部门下所有子级部门的示例语句:
WITH RECURSIVE dept_tree ( id, NAME, parent_id ) AS (
SELECT
id,
NAME,
parent_id
FROM
system_dept
WHERE
id = #{params.deptId}
UNION ALL
SELECT
d.id,
d.NAME,
d.parent_id
FROM
dept_tree AS dt
JOIN system_dept AS d ON dt.id = d.parent_id
) SELECT
id,
NAME,
parent_id
FROM
dept_tree;
这里主要是使用递归查询,其中注意的是两边的查询字段必须是一模一样的,不然会报错