SQL Server ha implementado las cláusulas OFFSETy FETCHcomo parte de la ORDER BYcláusula, según lo señalado por las otras respuestas y documentado en su documentación.
El estándar SQL en el otro lado, tiene ambas cláusulas como independientes:
<query expression> ::=
[ <with clause> ] <query expression body>
[ <order by clause> ] [ <result offset clause> ] [ <fetch first clause> ]
Si alguien quiere que esta característica se implemente en total conformidad con el estándar, siempre puede hacer una solicitud al equipo de SQL Server, a través del canal Connect. De hecho, MS ha comentado, en una solicitud diferente sobre desplazamiento y recuperación:
Conecte el elemento: SQL Denali: agregue el contador total de filas a la SELECTdeclaración - por Alexey Rokhin
Respuesta: Publicado por Microsoft el 24/11/2010 a las 11:34
El requisito que OFFSET/FETCHrequiere ORDER BYes una restricción en esta versión. En el estándar ANSI SQL (SQL: 2011) donde OFFSET/FETCHse proponen las nuevas cláusulas, ORDER BYes opcional. La restricción en SQL Server tiene que ver con la limitación en nuestra tecnología de analizador que no puede manejar la sintaxis opcional sin hacer OFFSETuna palabra clave reservada. Podemos eliminarlo en el futuro.
Ahora con respecto a ...
Hasta entonces, si uno quiere usar OFFSETy FETCHsin un específico ORDER BY, una solución alternativa es agregar una orden de "no hacer nada" por cláusula. Ejemplo:
SELECT
...
ORDER BY (SELECT NULL)
OFFSET 0 ROWS
FETCH NEXT 1 ROWS ONLY;