упорядоченная выборка

guestora
Дата: 11.12.2007 12:05:15
  1) select * from (select * from tbl where <условие> order by col ) 
  и
  2) select * from (select * from tbl where <условие> ) order by col
Спрашивается, всегда ли строки будут возвращаться в одинаковом порядке ? Обоснование.
guestora
Дата: 11.12.2007 12:06:43
(т.е. всегда ли результат 1го будет ли идентичен результату 2го)
зы
Дата: 11.12.2007 12:15:33
если возвращаемый набор идентичен и "col" уникален, то да
guestora
Дата: 11.12.2007 12:41:27
зы
если возвращаемый набор идентичен и "col" уникален, то да

Доказать - ?
Евгений_25
Дата: 11.12.2007 12:46:26
а сегодня что уже пятница?
tompson
Дата: 11.12.2007 13:24:45
Далеко не всегда, Оракл не гарантирует порядок вывода строк, если нету условия order by в самом верхнем запросе.

Например, если запустить запрос select * from t несколько раз, и с базой активно работает несколько параллельных сессий (то есть наша таблица t полностью не лежит в кеше) то порядок строк может быть и разным.
| :-)
Дата: 11.12.2007 13:26:45
tompson
Далеко не всегда, Оракл не гарантирует порядок вывода строк, если нету условия order by в самом верхнем запросе.

Например, если запустить запрос select * from t несколько раз, и с базой активно работает несколько параллельных сессий (то есть наша таблица t полностью не лежит в кеше) то порядок строк может быть и разным.

а ты на план запроса глянь :)
Elic
Дата: 11.12.2007 13:32:38
tompson
Оракл не гарантирует порядок вывода строк, если нету условия order by в самом верхнем запросе.
RTFM ROWNUM & "top-N query" (FAQ)
tompson
Дата: 11.12.2007 13:34:36
Даже если планы совпадают - то это еще не показатель....
Я же напил пример - дак там не только планы совпадают - но и сам SQL

Нужны еще объяснения ?
tompson
Дата: 11.12.2007 13:35:42
Elic
tompson
Оракл не гарантирует порядок вывода строк, если нету условия order by в самом верхнем запросе.
RTFM ROWNUM & "top-N query" (FAQ)



Это вы к чему ?
Объяните пожайлусто :)) Я не понял намека :))