18.查询各部门中工资比本部门平均工资高的员工的员工号, 姓名和工资(相关子查询)
时间: 2024-03-17 15:42:19 浏览: 219
员工工资查询系统 v1.8
好的,针对您的问题,可以使用以下 SQL 语句来实现:
```
SELECT e.empno, e.ename, e.sal
FROM emp e
WHERE e.sal > (
SELECT AVG(e2.sal)
FROM emp e2
WHERE e2.deptno = e.deptno
)
```
以上 SQL 语句中,`emp` 表是员工表,包含员工号、姓名、工资、部门号等信息。子查询语句 `SELECT AVG(e2.sal) FROM emp e2 WHERE e2.deptno = e.deptno` 用于计算当前员工所在部门的平均工资,子查询中 `e` 和外部查询中的 `e` 是同一个表的不同别名。
外部查询的 WHERE 子句中使用了子查询,判断员工的工资是否高于本部门的平均工资,如果是,则返回该员工的员工号、姓名和工资。
阅读全文