MySql中利用递归查询当前部门的所有子部门信息
在MySQL中,可以使用递归的公用表表达式(Common Table Expressions, CTE)来查询当前部门的所有子部门信息。以下是一个示例代码:
WITH RECURSIVE sub_departments AS (
SELECT
department_id,
parent_department_id
FROM
departments
WHERE
department_id = [起始部门ID] -- 替换为你要查询的部门ID
UNION ALL
SELECT
d.department_id,
d.parent_department_id
FROM
departments d
INNER JOIN sub_departments sd ON sd.department_id = d.parent_department_id
)
SELECT
*
FROM
sub_departments;
在这个查询中,departments
是一个表,它包含至少两个字段:department_id
(部门ID)和parent_department_id
(父部门ID)。[起始部门ID]
是你想要开始递归查询的部门的ID。
请确保将[起始部门ID]
替换为实际的部门ID,然后执行这段代码,它将返回从起始部门开始的所有子部门信息。
评论已关闭