此题关键思维点在于,将给的两张表转换为,入职工资情况表和当前工资情况表,这样一来涨幅就很容易查询了
SELECT a.emp1_no, (b.nowsalary - a.hiresalary) growth
FROM (SELECT e1.emp_no emp1_no, s1.salary hiresalary
FROM employees e1, salaries s1
WHERE e1.emp_no = s1.emp_no
AND e1.hire_date = s1.from_date) a
RIGHT JOIN
(SELECT e2.emp_no emp2_no, s2.salary nowsalary
FROM employees e2, salaries s2
WHERE e2.emp_no = s2.emp_no
AND s2.to_date = '9999-01-01') b
ON a.emp1_no = b.emp2_no
ORDER BY growth


京公网安备 11010502036488号