with a as(
    select emp_no,salary as now_salary
    from salaries
    where to_date='9999-01-01'),
    b as(
    select e.emp_no as emp_no,s.salary as old_salary
    from employees e join salaries s using(emp_no)
    where e.hire_date=s.from_date)
select a.emp_no,(a.now_salary-b.old_salary) as growth
from a join b using(emp_no)
order by growth

1、我刚开始的错误点:

直接用“薪水表salaries”思路完成,没有用员工表

(1)表1:用to_date='9999-01-01'找出在职员工信息

(2)用表1 和 薪水表salaries 连接,然后“表1的from_date = 薪水表的to_date” 锁定在职员工的入职工资

——这一步就非常错误,忽略了有些员工调整多次工资的情况

2、看了参考答案

改成:(2)应该是 员工表employees 的hire_date=薪水表salaries 的from_date 进行条件筛选,这样才能精准找到在职员工入职时的工资

但参考答案有个错误:表连接,用的是“入职日期相等”,其实应该是员工编号才正确,因为可能会存在多个人同一天入职,只不过这道题里恰好没有而已。