使用子查询,查询工资大于本部门平均薪水的员工,姓名,薪水,部门平均工资
时间: 2024-12-23 11:24:22 浏览: 10
oracle数据库ppt
如果你想通过子查询找出工资高于各自部门平均薪资的员工,并获取他们的姓名、实际薪水以及部门平均工资,可以这样做:
```sql
SELECT e.employee_name, e.salary,
(SELECT AVG(salary) FROM employees WHERE department_id = e.department_id) AS department_average_salary
FROM employees e
WHERE e.salary > (SELECT AVG(salary) FROM employees WHERE department_id = e.department_id);
```
这个查询的步骤是:
- 主查询首先从`employees`表中选取满足条件的员工(即`e.salary > department_average_salary`),并获取姓名(`employee_name`)和实际薪水(`salary`)。
- 内部的子查询再次计算每个部门的平均工资(`AVG(salary)`)。
- 结果只返回那些工资高于其所在部门平均薪资的员工及其部门平均工资。
阅读全文