MYSQL数据库多级部门,下级部门的编号为上级部门编号后加三位数,查询上级部门下所有员工信息
时间: 2023-11-22 17:04:54 浏览: 177
mysql查询练习题
假设你的部门表为 `department`,其中包含了部门编号 `dept_id`、部门名称 `dept_name`、上级部门编号 `parent_dept_id` 等字段。员工表为 `employee`,其中包含了员工编号 `emp_id`、员工姓名 `emp_name`、所属部门编号 `dept_id` 等字段。
首先你需要使用递归查询所有下级部门编号,可以使用 MySQL 的 WITH RECURSIVE 语句来实现:
```
WITH RECURSIVE sub_dept AS (
SELECT dept_id FROM department WHERE dept_id = '上级部门编号'
UNION ALL
SELECT d.dept_id FROM department d INNER JOIN sub_dept sd ON d.parent_dept_id = sd.dept_id
)
SELECT emp_id, emp_name, e.dept_id FROM employee e INNER JOIN sub_dept sd ON e.dept_id = sd.dept_id;
```
其中,将上级部门编号替换为实际的上级部门编号即可。这样就能查询到所有下级部门的员工信息了。
阅读全文