这个题目中说了"查找排除最大、最小salary之后的当前(to_date = '9999-01-01' )员工的平均工资avg_salary。"
我们按照这逻辑 取大取小时 肯定是默认不会会加 to_date = '9999-01-01' 这样也就是 逻辑上时觉得OK 但是 一直通不过.但是 题目的潜在意义就是 都是 当前的 所以 取大取小 都得加'9999-01-01' .
排除大小 Salary 时 用 not in或者 > < 一样
select avg(salary) as avg_salary
from salaries
where salary <
(
select max(salary)
from salaries
where to_date = '9999-01-01'
)
and salary >
(
select min(salary)
from salaries
where to_date = '9999-01-01'
)
and to_date = '9999-01-01'
;