也行,但好像更长了之外,效率上也没啥区别
select avg(ss.salary)
from salaries ss
left join (select max(salary) salary from salaries where to_date='9999-01-01'
union
select min(salary) salary from salaries where to_date='9999-01-01') t
on ss.salary=t.salary
where t.salary is null and ss.to_date='9999-01-01'