with a as (select de.emp_no,s.salary as emp_salary,dept_no from dept_emp de left join salaries s on s.emp_no = de.emp_no), b as( select dm.emp_no as manager_no,s.salary as manager_salary,dept_no from dept_manager dm left join salaries s on s.emp_no = dm.emp_no ) select a.emp_no,manager_no, emp_salary,manager_salary from a join b on a.emp_no!=manager_no and a.dept_no = b.dept_no where emp_salary>manager_salary
二刷 遗忘点:a.dept_no = b.dept_no