从EMP表中选择每个部门工资排名第二高的员工的姓名、工资和所属部门。
时间: 2024-03-22 22:13:24 浏览: 79
可以使用以下SQL语句实现:
```
SELECT d.dept_name, e.emp_name, e.salary
FROM employee e
INNER JOIN department d ON e.dept_id = d.dept_id
WHERE (
SELECT COUNT(DISTINCT salary)
FROM employee e2
WHERE e2.dept_id = e.dept_id AND e2.salary > e.salary
) = 1;
```
该SQL语句使用了子查询来计算每个员工所在部门中工资排名第二高的员工数量,如果数量为1,则说明该员工的工资排名为第二高,符合要求。同时使用INNER JOIN将员工表和部门表进行关联,并在查询结果中包含部门名称、员工姓名和工资。
阅读全文