题目描述
有一个员工表employees简况如下:
有一个薪水表salaries简况如下:
请你查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_no以及其对应的薪水涨幅growth,并按照growth进行升序,以上例子输出为
(注:可能有employees表和salaries表里存在记录的员工,有对应的员工编号和涨薪记录,但是已经离职了,离职的员工salaries表的最新的to_date!='9999-01-01',这样的数据不显示在查找结果里面,以上emp_no为2的就是这样的)
答案详解
SELECT e.emp_no, (a.salary - b.salary) AS growth FROM employees e INNER JOIN salaries a ON e.emp_no = a.emp_no AND a.to_date = '9999-01-01' INNER JOIN salaries b ON e.emp_no = b.emp_no AND b.from_date = e.hire_date ORDER BY growth ASC;