SELECT *
FROM (
SELECT employee_id, last_name, salary,
RANK() OVER (ORDER BY salary DESC) EMPRANK
FROM employees)
where emprank > 10 and emprank < 13
-- WHERE emprank = 2;
with cte_emp_dep as (
SELECT
emp.first_name,
emp.last_name,
emp.salary,
dep.department_name
FROM
employees emp left join departments dep
on emp.department_id = dep.department_id
where salary < 9000
),
cte_sal_bin as (
select cte_emp_dep.*,
trunc(salary, -3) sal_bin
from cte_emp_dep
),
cte_rank as (
select cte_sal_bin.*,
dense_rank() over (order by sal_bin) rank_sal_bin
from cte_sal_bin
)
select * from cte_rank
where rank_sal_bin < 10
order by salary