Нет порядка для таблицы. Даже для "временной таблицы".
Это фундаментальный принцип SQL: таблицы (и наборы результатов без *) 1005 *) представляют неупорядоченные наборы. Период. Информация о заказе фиксируется в данных с использованием столбцов в данных.
Набор результатов без ORDER BY
может быть возвращен в любом порядке - и в других заказах при последующих выполнениях.
Когда вы добавляете ORDER BY (SELECT NULL)
, вы прямо заявляете: «Я должен поставить сюда ORDER BY
, но мне нет дела до порядка». Это распространяется на следующее: «Мне все равно, будет ли оно одинаковым при последующих выполнениях.
Вы можете сохранить порядок при создании временной таблицы с использованием столбца идентификаторов. Например:
select identity(int) as temp_id, . . .
into #temp
from . . .
order by <whatever you want here>;
Затем вы можете восстановить порядок, используя order by temp_id
при запросе к таблице.