我觉得这道题最大的误解是没想清楚题目最终的结果是想呈现出什么样子的结果,其实最终的结果是想只体现当前部门的信息(dept_no1,dept_no2),
所以简单粗暴,直接 inner join 或者right join 部门表dept_manager即可,如果用left join的话,结果dept_no会有null的情况,用having 剔除结果也是一致的。
SELECT
t1.*,t2.dept_no
from salaries t1
left JOIN dept_manager t2
on t1.emp_no = t2.emp_no
having dept_no is not null
ORDER by emp_no