查找所有员工自入职以来的薪水涨幅情况

查找所有员工自入职以来的薪水涨幅情况

http://www.nowcoder.com/questionTerminal/fc7344ece7294b9e98401826b94c6ea5

由一楼大佬给出的代码,观察到或许hire_date不一定有对应的from_date,但是依旧可以通过,根据题目所给数据应该计算出最小的from_date,而不是限定from_date=hire_date。

SELECT s1.emp_no,(s1.salary - s2.salary) growth
#当前工资
FROM (SELECT emp_no,salary FROM salaries WHERE to_date='9999-01-01') s1
JOIN
#入职工资
(SELECT e.emp_no, s.salary 
     FROM salaries s 
     JOIN employees e 
     ON s.emp_no = e.emp_no 
     AND s.from_date =
     #不知题目所给的hire_date和工资的from_date是不是一个东西,
     #如果不是可以判断最小的from_date,就不用from_date=hire_date
         (SELECT MIN(from_date) 
          FROM salaries s3 
          WHERE s3.emp_NO = e.emp_no)) s2
ON s1.emp_no = s2.emp_no
ORDER BY growth;
全部评论

相关推荐

11-14 16:13
已编辑
重庆科技大学 测试工程师
Amazarashi66:不进帖子我都知道🐮❤️网什么含金量
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务