中等
技术面试0 次浏览设计一个 SQL 查询,找出每个部门中工资最高的员工信息。
数据分析师
SQL子查询分组统计
答题要点
要找出每个部门中工资最高的员工信息,可使用子查询和分组统计的方法。假设存在两个表,employees 表包含员工信息,如 employee_id、department_id、salary 等字段;departments 表包含部门信息,如 department_id、department_name 等字段。首先,使用子查询找出每个部门的最高工资,即 SELECT department_id, MAX(salary) AS max_salary FROM employees GROUP BY department_id。然后,将这个子查询与 employees 表进行连接,筛选出工资等于该部门最高工资的员工信息。完整的 SQL 查询如下:SELECT e.employee_id, e.department_id, e.salary FROM employees e JOIN (SELECT department_id, MAX(salary) AS max_salary FROM employees GROUP BY department_id) d ON e.department_id = d.department_id AND e.salary = d.max_salary。通过这种方式,我们可以准确找出每个部门中工资最高的员工信息。