En este blog, hablaremos de OFFSET y FETCH. Estos dos, cuando se combinan, son muy poderosos y pueden ayudarnos con nuestras tareas de extracción de datos SQL. Podemos usar estos dos para extraer datos en función de nuestros requisitos o necesidades.
El propósito de OFFSET es omitir las primeras filas que ha mencionado en su conjunto de datos. Por otro lado, usamos FETCH para restringir las filas. Ambas son opciones de orden por cláusula . Tenga en cuenta que estos dos no funcionarán si no usa la cláusula ORDER BY .
En este ejemplo, podemos usar order by ID u order by Name . Después de eso, cuando use OFFSET 5 ROWS , omitirá las primeras 5 filas. Cuando combina FETCH NEXT 10 ROWS ONLY , solo obtendrá los siguientes 10 datos después de las 5 filas.
Pero si no usamos el comando FETCH , mostrará todas las demás filas excepto aquellas en las que usamos OFFSET .

Esto significa que las filas 6 a 15 aparecerán en nuestra salida y nada más.

Tabla de contenido
Seleccionar una mesa
Primero, abramos nuestro SSMS . En este ejemplo, ya tenemos una tabla simple.

A continuación, resalte el comando para cargar la tabla.

Después de eso, haga clic en Ejecutar .

Luego verá la tabla en la pestaña Resultados .

Uso de OFFSET para la extracción de datos SQL
En el resultado, verá que tenemos ID y Name .

Si ejecutamos el comando con “ ORDER BY ID ”, ordenará los datos de forma ascendente dependiendo del número de ID.


También podemos usar el comando “ ORDER BY ID DESC ” para ordenar los datos de forma descendente.

Pero para este ejemplo, ejecutaremos el comando “ ORDER BY ID ”. A continuación, saltemos las primeras 10 filas de nuestra salida. Así que escribiremos " DESPLAZAMIENTO 10 FILAS ".

Después de eso, resaltemos los comandos que vamos a ejecutar. Luego haga clic en Ejecutar .

Al verificar el resultado en la pestaña Resultados , veremos que el comando que usamos omitió las primeras 10 filas. Ahora, solo muestra los datos del ID 11 .

Uso de FETCH para la extracción de datos SQL
Ahora usemos FETCH . En este ejemplo, solo buscaremos 2 filas. Esto significa que ID 11 e ID 12 serán los únicos en la salida.
Primero, escribamos " FETCH NEXT 2 FILAS SOLAMENTE ".

A continuación, resaltaremos los comandos y haremos clic en Ejecutar .

Luego, verá que la salida muestra ID 11 e ID 12 solo en la pestaña Resultados .

Puede cambiar el permiso en cualquier momento que desee dependiendo de su objetivo. Puede omitir las primeras 15 filas escribiendo " DESPLAZAR LAS PRIMERAS 10 FILAS ". Cuando se combina con FETCH , se vuelve más poderoso. Además de usar " PEDIDO POR ID ", también puede usar " PEDIDO POR NOMBRE ".
Consulta de datos de múltiples fuentes de datos
Conclusión
Para terminar, hemos discutido el uso de OFFSET y FETCH . Con estos dos comandos simples, podrá cambiar las restricciones y controlar la salida en las filas que desea que aparezcan.
Si no necesita las primeras 50 filas, no necesita desplazarse hacia abajo. En cambio, puede obtenerlo fácilmente usando estos comandos simples pero poderosos. OFFSET y FETCH pueden ser simples. Pero cuando se usan juntos, se vuelven poderosos a medida que tiene más control sobre los datos.
Si desea obtener más información sobre este tema y otro contenido relacionado, puede consultar la lista de enlaces relevantes a continuación.
Mis mejores deseos,
Hafiz