select
    dd.dept_no,
    sa.emp_no,
    sa.salary
from
    salaries sa
    right join (
        select
            de.dept_no,
            de.emp_no
        from
            dept_emp de
            left join dept_manager dm on de.emp_no = dm.emp_no
            and de.dept_no = dm.dept_no
        where
            dm.emp_no is null
    ) dd on sa.emp_no = dd.emp_no

这个非逻辑错误搞了我将近一个小时,直到我照着别人的和我逻辑相同的代码敲了一边,我才发现我在写的时候是因为粗心把 关联字段名 写错了。

已经是第二次因为这种问题卡壳了,以后自我纠错先顺逻辑,如果逻辑没问题就查字段对应关系,而不是老沉溺于逻辑纠错。或者就是确定逻辑一定没问题后(与正确答案逻辑对比得出),就直接跳过进入下一题,当局者迷,没必要为了非逻辑问题浪费练习时间