题解 | 查找在职员工自入职以来的薪水涨幅情况
查找在职员工自入职以来的薪水涨幅情况
https://www.nowcoder.com/practice/fc7344ece7294b9e98401826b94c6ea5
select n.emp_no,(n.salary-o.salary) as growth from ((select b.emp_no,b.salary from (employees as a right join salaries as b on a.emp_no=b.emp_no) where from_date=hire_date) as o right join (select emp_no,salary from salaries where to_date='9999-01-01') as n on o.emp_no=n.emp_no) order by growth
o表是入职时间和工资开始计算时间一致,获取原始薪酬 o.salary
n表是工资最终计算时间等于'9999-01-01',获取在职员工的最新薪酬 n.salary
用 最新薪酬 减 原始薪酬 计算 薪酬涨幅 后依据growth排序