题解 | 查找在职员工自入职以来的薪水涨幅情况
查找在职员工自入职以来的薪水涨幅情况
https://www.nowcoder.com/practice/fc7344ece7294b9e98401826b94c6ea5
SELECT a.emp_no,b.salary-c.salary as growth from (SELECT emp_no, MIN(to_date)as d FROM salaries GROUP BY emp_no having max(to_date)='9999-01-01') a left join salaries b on a.emp_no=b.emp_no AND b.to_date='9999-01-01' left join salaries c on a.emp_no=c.emp_no AND c.to_date=a.d order by growth;
三张表使用left join连接
第一张表a:符合条件的员工、最初工资日期、最近工资日期(固定为'9999-01-01',所以省略了)
第二张表b:最近工资
第三张表c:初始工资