Интересно об ожидаемом / детерминированном c порядке вывода из Oracle 11g для запросов на основе отсортированных CTE.
Рассмотрим этот (чрезвычайно упрощенный ради) пример запроса SQL. Опять же, обратите внимание, что в CTE есть предложение ORDER BY
.
WITH SortedArticles as (
SELECT. *
FROM Articles
ORDER BY DatePublished
)
SELECT *
FROM SortedArticles
WHERE Author = 'Joe';
Можно ли предположить, что выведенные строки гарантированно будут в том же порядке, что и CTE, или мне придется повторно -сортировать их во второй раз?
Опять же, это чрезвычайно упрощенный пример, но он содержит важные части того, что я спрашиваю. Это ...
- CTE отсортирован
- Последний оператор
SELECT
выбирает только CTE, ничего больше (без объединений и т. Д. c.) И - В последнем операторе
SELECT
указано только предложение WHERE
. Это чисто фильтрующий оператор.