思路:题目所表达的意思其实就是两表连接后,通过分组求title和avg(s.salary)。 这里我们需要注意的是:

  1. 在经过 group by 之后,select 中只能包含分组的字段以及聚合函数。
  2. 有很多人说不明白为什么要使用 to_date ,其实这个只是为了保证是当前的员工。

完整代码:

select t.title, avg(s.salary)
from titles t inner join salaries s
on t.emp_no = s.emp_no
where t.to_date = '9999-01-01'
and s.to_date = '9999-01-01'
group by t.title
order by avg(s.salary) asc