Я не могу использовать ключевое слово минус в Oracle 9i! - PullRequest
0 голосов
/ 01 марта 2010
select  salary from employees order by salary desc
MINUS
select  salary from employees where rownum<10 order by salary desc;

Я не могу использовать order by с MINUS, он говорит, что команда sql неправильно завершилась.Пожалуйста, предложите!

1 Ответ

2 голосов
/ 01 марта 2010

Учитывая, как выглядит бизнес-вопрос (укажите зарплату работников, где зарплата не входит в первую десятку зарплат), я думаю, аналитика будет выбором, заслуживающим рассмотрения:

select salary 
  from (select salary,
               rank() over (order by salary) as salary_rank
          from employees
       )
 where salary_rank > 10
 order by salary;

Использование аналитики также будет сканировать EMPLOYEES только один раз, тогда как исходный запрос будет сканировать его дважды.

...