You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现同部门员工配对列表查询?SQL技术求助

需求:生成同部门员工配对列表

我需要生成同部门员工的配对列表,示例格式如下:

员工姓名部门员工姓名
Tim2kim
Tim2Jim
Kim2Tim
Kim2Jim
Jim2Kim
Jim2Tim
Aim3Sim
Sim3Aim

目前我执行的SQL语句是:

SELECT emp_name, dept_code
  FROM employee
 WHERE dept_code IN (SELECT dept_code FROM employee);

得到的结果如下:

员工姓名部门
Tim2
Kim2
Jim2
Aim3
Sim3

请问如何编写SQL语句生成同部门员工的配对列表?


解决方案

使用自连接(Self Join)即可实现需求,将employee表与自身关联,筛选同部门且不同的员工配对,SQL语句如下:

SELECT e1.emp_name AS 员工姓名,
       e1.dept_code AS 部门,
       e2.emp_name AS 员工姓名
FROM employee e1
JOIN employee e2 ON e1.dept_code = e2.dept_code
WHERE e1.emp_name != e2.emp_name;

逻辑说明:

  • 给employee表设置两个别名e1和e2,模拟两个独立的员工数据集
  • 通过JOIN条件e1.dept_code = e2.dept_code确保配对员工属于同一部门
  • 通过WHERE e1.emp_name != e2.emp_name排除员工与自身配对的无效数据,最终得到所有同部门的双向员工配对结果

内容的提问来源于stack exchange,提问作者maricenaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 18:31:03