Ваш вопрос несколько вводит в заблуждение. Вы предполагаете, что необходимо выполнить 2 запроса. В этом случае здравый смысл подскажет вам, что внутренние запросы должны выполняться перед внешними запросами.
Однако любой надежный оптимизатор запросов (вы не указали, какой продукт и версия вы используете) должны иметь возможность вывести, что это фактически единственный запрос, и это всего лишь глупое ограничение языка SQL, которое не позволяя вам написать:
SELECT ROW_NUMBER() OVER(Order by Table1.ID) As RowNo, Table1.Name, Table1.Address From Table1 WHERE RowNo Between 1 And 10
Не стесняйтесь выразить свое разочарование ANSI (устанавливает стандарт SQL). Если на самом деле оптимизатор, который вы используете, должен выполнять 2 отдельных прохода, то есть материализовать внутренний запрос во временную таблицу, а затем выполнить другое сканирование таблицы temp для фильтрации, отправьте поставщику сердитый адрес электронной почты или просто получите другой продукт. :)
'SELECT ROW_NUMBER() OVER (Order by Table1.ID) As RowNo, Table1.Name, Table1.Address' Выполняет сначала. Почему такое сомнение? –
каждый раз, когда Subquery выполняет сначала – speeday125
@Arun P Johny, почему asp.net и C# теги stille там? –