思路:题目所表达的意思其实就是两表连接后,通过分组求title和avg(s.salary)。 这里我们需要注意的是:
- 在经过 group by 之后,select 中只能包含分组的字段以及聚合函数。
- 有很多人说不明白为什么要使用
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