ORACLE SQL ROWNUM порядок выполнения - PullRequest
3 голосов
/ 11 июня 2010

в Oracle SQL существует возможный критерий, называемый rownum.Могу ли я подтвердить, что rownum будет выполнен, наконец, в качестве ограничения на количество возвращаемых записей?или это может быть выполнено в первую очередь, перед другими критериями WHERE SQL (давайте, если мы поставим rownum перед другими)?

Ответы [ 2 ]

4 голосов
/ 11 июня 2010

Это не эквивалент LIMIT на других языках.Если вы планируете ограничить число записей с помощью rownum, вам нужно будет выполнить запрос ORDER BY внутри и использовать rownum во внешнем запросе.Порядок элементов в вашем предложении WHERE не имеет значения.Смотрите эту прекрасную статью Тома Кайта.

3 голосов
/ 11 июня 2010

Да, в предложении WHERE значение ROWNUM всегда оценивается последним, после того, как все остальные предикаты были оценены независимо от их порядка.

Однако оно оценивается перед любыми предложениями GROUP BY или ORDER BY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...