MySQL查询6月份'运维'比'技术支持'考核高的所有员工的id和姓名
时间: 2024-10-11 07:06:20 浏览: 17
MySQL数据库运维.pdf
5星 · 资源好评率100%
MySQL查询可以使用`JOIN`, `WHERE` 和 `GROUP BY` 来完成这个任务。假设我们有两个表,一个是`employees`表,存储员工的基本信息包括`id`和`name`,另一个是`performance`表,记录了每个月的考核结果,字段有`employee_id`, `month`, `department`(部门)和`score`(得分)。我们可以按照以下步骤构造SQL语句:
```sql
SELECT e.id, e.name
FROM employees e
JOIN performance p ON e.id = p.employee_id
WHERE p.month = '2022-06' AND p.department = '运维'
GROUP BY e.id, e.name
HAVING SUM(CASE WHEN p.department = '运维' THEN p.score ELSE 0 END) >
SUM(CASE WHEN p.department = '技术支持' THEN p.score ELSE 0 END);
```
这个查询首先将`employees`表和`performance`表通过`id`关联起来,然后筛选出6月的数据,接着按员工ID和姓名分组,最后使用`HAVING`子句计算并比较"运维"和"技术支持"部门的总得分,返回得分高于对方的员工。
阅读全文