select
    d.emp_no,
    t.manager_no,
    s.salary,
    manager_salary
from
    dept_emp d
    join salaries s on d.emp_no = s.emp_no
    join (
        select
            m.emp_no manager_no,
            s.salary manager_salary,
            m.dept_no
        from
            salaries s
            join dept_manager m on s.emp_no = m.emp_no
    ) t on d.dept_no = t.dept_no and s.salary > manager_salary;

  1. 子查询先找出管理者的薪水
  2. 构建出一张含有员工及其对应管理者的薪水大表
  3. 用内连上述条件过滤得到比管理薪资高的员工