mysql高效查询部门及其子部门员工
问题:如何高效地查询某个部门及其所有子部门下的员工,避免重复数据?
表结构:
- department:部门信息,包括唯一编号、部门名称、上级部门编号和所属公司
- user:员工信息,包括唯一编号、昵称和所属公司
- department_user_relate:部门员工关联表,包括唯一编号、部门编号和员工编号
查询方案:
WITH RECURSIVE depts(id) AS( SELECT id FROM department WHERE id = 要查找的部门ID UNION ALL SELECT id FROM department AS d where d.parent_id = id ) select * from user where user.id in ( SELECT user_id FROM department_user_relate where dept_id in ( select id from depts ) )
登录后复制
扩展:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
【小浪云服务商 - 服务器12元起 - 挂机宝5元起】
THE END
暂无评论内容