【大厂真题】SQL20题解 | 统计各个部门平均薪资

# 需求:实发薪资=标准薪资-扣除薪资,统计平均薪资要求剔除薪资小于4000和大于30000的员工
# 平均实发薪资(保留3位小数)
# 按照平均实发薪资降序排序

SELECT a.department,avg(ROUND(b.salary,3)) as avg_salary
from staff_tb  a
inner join 
(
    SELECT staff_id,normal_salary-dock_salary as salary # 注意别名
    from 
    salary_tb
    where (normal_salary-dock_salary) <=30000
    and (normal_salary-dock_salary) >=4000
) b
on a.staff_id=b.staff_id
group by a.department
order by avg_salary desc

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务