查询工资高于岗位平均工资的员工信息

本 SQL 语句用于查询员工姓名、工资和岗位信息,筛选出工资高于其所在岗位平均工资的员工。

SELECT last_name, salary, 'title'
FROM s_emp
WHERE salary > (
  SELECT AVG(salary)
  FROM s_emp
  WHERE 'title' = s_emp.'title'
)
ORDER BY salary DESC;

说明:

  • last_name: 员工姓名
  • salary: 员工工资
  • 'title': 员工岗位
  • s_emp: 表名
  • AVG(salary): 计算所在岗位的平均工资
  • WHERE 'title' = s_emp.'title': 筛选与当前员工相同岗位的员工
  • ORDER BY salary DESC: 按工资降序排列结果

示例:

假设 s_emp 表中有以下数据:

| last_name | salary | 'title' | |---|---|---| | John | 60000 | 'Developer' | | Mary | 50000 | 'Developer' | | Peter | 70000 | 'Manager' | | Susan | 65000 | 'Manager' |

则执行上述 SQL 语句后,将返回以下结果:

| last_name | salary | 'title' | |---|---|---| | John | 60000 | 'Developer' | | Peter | 70000 | 'Manager' |

因为 John 的工资高于 Developer 岗位的平均工资,Peter 的工资高于 Manager 岗位的平均工资。


原文地址: https://www.cveoy.top/t/topic/lEbb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录