
为什么总提示我的派生表不存在,我的括号什么的都检查没错了,求经验丰富的同志解答

关注子查询只能在包住它的上一层select里使用,不能再其他地方使用,更加不能再select这个子查询的别名。
如果要对一个子查询进行多次select,应该在最前面使用with as 来对这个子查询进行定义。
另外,你这个sql里错误地方太多,完全不符合sql语法逻辑,因此没办法通过小改来进行修正了
select *
from (select row_number() over(order by avg(a.salary)) rn, a.department_id
from employees a
group by a.department_id) aa,
departments b
where aa.department_id = b.department_id
and rn = 1;

如果不使用开窗函数的话,就用下面这个
with t as
(select a.department_id, avg(a.salary) av
from employees a
group by a.department_id)
select b.*
from t, departments b
where av = (select min(av) from t)
and t.department_id = b.department_id
