# SQL SELECT TOP – cómo seleccionar conjuntos de datos específicos

SQL `SELECT TOP` permite reducir los análisis a datos específicos de columnas y tablas que quieres examinar. **Limitando la cantidad de datos resultantes** optimizas el rendimiento y ahorras recursos al trabajar con bases de datos muy complejas.

## ¿Qué es SQL `SELECT TOP`?

Si trabajas con el lenguaje de bases de datos [SQL](https://www.ionos.com/es-us/digitalguide/servidores/know-how/que-es-sql/) dispones de diversas herramientas como los [comandos SQL](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/comandos-sql/), [operadores](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/sql-operators/) y funciones. Según lo que necesites hacer, con ellos puedes examinar, analizar, modificar o manipular conjuntos de datos. Si tratas con conjuntos de datos muy grandes con miles de entradas, merece la pena **limitar la cantidad de resultados salientes** en favor de una consulta eficiente. Para ello, se usa el comando SQL `SELECT TOP`.

Combinando [SQL SELECT](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/sql-select/) y la palara clave `TOP` obtienes una función con la que puedes limitar la **cantidad de datos resultantes** a la cantidad que desees. De esta manera se reducen los resultados a las entradas más relevantes y optimizas la legibilidad y la fuerza informativa del análisis. Sin embargo, ten en cuenta que SQL `SELECT TOP` no funciona con todas las bases de datos. Para ello existen las alternativas `LIMIT`, `FETCH FIRST` y `ROWNUM`.

Consejo Descubre los fundamentos y funciones más importantes de SQL en nuestra [guía de SQL con ejemplos](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/sql-introduccion-con-ejemplos/).

## Sintaxis de `SELECT TOP`

La sintaxis de `SELECT TOP` es sencilla:

```sql
SELECT  TOP  n ColumnaA, ColumnaB, …
FROM  Tabla
```

Utiliza estos parámetros:

- `SELECT TOP`: Con el comando `SELECT TOP` defines la cantidad de resultados que quieres y las columnas de las cuales salen los resultados. Indica el nombre de la columna tras la cantidad de resultados deseados (n) o haz uso del asterisco `*` para seleccionar todos los conjuntos de datos de las tablas.
- `FROM`: Elige la tabla en la que quieres examinar las columnas y datos.

Con otras opciones de cláusulas y operadores puedes precisar los resultados:

- `WHERE`: Con la cláusula [SQL WHERE](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/sql-where/) determinas las condiciones que deben cumplir los datos relevantes. Los resultados irrelevantes se descartan.
- `ORDER BY`: Con el comando [SQL ORDER BY](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/sql-order-by/) y la instrucción `ASC` o `DESC` decides si los resultados deben clasificarse de manera ascendente o descendente.

## Para qué sirve el operador de SQL `SELECT TOP`

A grandes rasgos, el operador de SQL `SELECT TOP` sirve para comparar, analizar o filtrar datos según tamaño y cantidad. Estos son algunos usos prácticos para distintas ramas:

- Abrir una selección de los clientes con la máxima cantidad de pedidos
- Filtrar los diez equipos con las campañas de márketing más exitosas
- Mostrar las primeras 50 transacciones más grandes para comprobar movimientos financieros sospechosos
- Mostrar las diez páginas web con más accesos en un mes
- Estudiar los clientes prometedores mediante datos demográficos, geográficos y financieros
- Comprobar las existencias buscando los diez productos con menos stock
- Estudiar el comportamiento de compra buscando los productos más pedidos o vistos
- Determinar factores de riesgo de los pacientes con resultados de pruebas relevantes, síntomas o enfermedades previas
- Filtrar los proveedores con los plazos o rutas de entrega más cortas

Consejo Descubra las ofertas de servidores y hosting de IONOS para sus proyectos web y de bases de datos como el [hosting SQL Server](https://www.ionos.es/cloud/sql-server-hosting "Hosting SQL server de IONOS"). Confíe en la protección de datos y la seguridad de los datos a estándares alemanes.

## Ejemplos de uso de SQL `SELECT TOP`

Te explicamos cómo funciona SQL `SELECT TOP` con dos prácticos ejemplos de uso.

### Mostrar los últimos diez pedidos

Quieres ver solo los últimos diez pedidos de la tabla “Pedidos”. Para ello, procedes de la siguiente manera:

```sql
SELECT  TOP  10  *
FROM  pedidos
ORDER BY  fecha de pedido DESC
```

**Añadiendo elementos** como `ORDER BY` puedes clasificar los resultados según parámetros como cantidad de pedido, precio u otras características.

### Clientes con el mayor número de pedidos

Quieres ver los diez clientes con más pedidos de la tabla “Pedidos”. Debes seguir así:

```sql
SELECT TOP 10 nombre cliente, id cliente, COUNT(*) AS cantidad de pedidos total
FROM pedidos
GROUP BY nombre cliente, id cliente
ORDER BY cantidad total pedidos DESC
```

Con la función `COUNT` sumas todos los pedidos de clientes con sus nombres e identificadores correspondientes para luego ordenar los pedidos más frecuentes.

## Alternativas a SQL `SELECT TOP`

Según el sistema que uses de [base de datos](https://www.ionos.com/es-us/digitalguide/hosting/cuestiones-tecnicas/bases-de-datos/), puede que necesites una **instrucción alternativa para limitar los resultados**. Comprueba si tu sistema de bases de datos soporta SQL `SELECT TOP` u otra función. Para que te hagas una idea, en la siguiente tabla comparamos SQL `SELECT TOP` y sus alternativas según el [sistema de gestión de base de datos](https://www.ionos.com/es-us/digitalguide/hosting/cuestiones-tecnicas/sistema-gestor-de-base-de-datos-sgbd/) (DMS):

<table>
  <thead>
    <tr>
      <th>Función SQL</th>
      <th>DMS</th>
      <th>Función</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`SELECT TOP`</td>
      <td>Servidor SQL</td>
      <td>Limita los resultados a n</td>
    </tr>
    <tr>
      <td>`LIMIT`</td>
      <td>MySQL</td>
      <td>Limita los resultados a n</td>
    </tr>
    <tr>
      <td>`ROWNUM` o `ROWS`</td>
      <td>Oracle</td>
      <td>Define el número de filas de resultado</td>
    </tr>
    <tr>
      <td>`OFFSET` + `FETCH`</td>
      <td>Oracle, MySQL</td>
      <td>Añade la cláusula `ORDER BY` y determina la cantidad de conjuntos de datos en los resultados</td>
    </tr>
    <tr>
      <td>`FETCH FIRST n ROWS ONLY`</td>
      <td>Oracle</td>
      <td>Limita la cantidad de filas de resultados a n</td>
    </tr>
  </tbody>
</table>


This is a markdown version of: [https://www.ionos.com/es-us/digitalguide/servidores/configuracion/sql-select-top/](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/sql-select-top/) for AI/LLM consumption.