SQL查询:找出平均工资大于1800元的部门员工信息

本文将详细解释以下SQL查询语句的含义,该语句用于找出平均工资大于1800元的部门,并列出这些部门的员工信息:

select e.*
from employees e
inner join departments d on e.departmentid = d.departmentid
where d.departmentid in (
    select departmentid
    from employees
    group by departmentid
    having avg(salary) > 1800
)

逐句解释

  • select e.*: 从员工表 (employees) 中选择所有列,使用别名 'e' 代表员工表。
  • from employees e: 从员工表 (employees) 中选择数据,并使用别名 'e' 代表员工表。
  • inner join departments d on e.departmentid = d.departmentid: 内连接 (inner join) 员工表 (employees) 和部门表 (departments),通过部门ID (departmentid) 进行匹配,使用别名 'd' 代表部门表。
  • where d.departmentid in (...): 使用子查询,在子查询中选择部门表中部门ID (departmentid) 满足条件的部门。
  • select departmentid from employees group by departmentid having avg(salary) > 1800: 子查询选择员工表中的部门ID (departmentid),按部门ID 进行分组,并计算每个部门的平均工资 (avg(salary)),然后使用 having 语句筛选出平均工资大于1800元的部门。

查询结果

最终的结果将返回满足条件的部门的员工信息,也就是那些平均工资大于1800元的部门的全部员工信息。

总体而言

这个查询的目的是找到平均工资大于1800元的部门,并列出这些部门的员工信息。

SQL查询:找出平均工资大于1800元的部门员工信息

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

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