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 dispones de diversas herramientas como los comandos SQL, operadores 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 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
.
Descubre los fundamentos y funciones más importantes de SQL en nuestra guía de SQL con ejemplos.
Sintaxis de SELECT TOP
La sintaxis de SELECT TOP
es sencilla:
SELECT TOP n ColumnaA, ColumnaB, …
FROM Tabla
sqlUtiliza estos parámetros:
SELECT TOP
: Con el comandoSELECT 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 determinas las condiciones que deben cumplir los datos relevantes. Los resultados irrelevantes se descartan.ORDER BY
: Con el comando SQL ORDER BY y la instrucciónASC
oDESC
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
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.
- Ancho de banda de hasta 1 Gb/s y tráfico ilimitado
- Almacenamiento SSD NVMe ultrarrápido
- Incluye: edición Plesk Web Host
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:
SELECT TOP 10 *
FROM pedidos
ORDER BY fecha de pedido DESC
sqlAñ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í:
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
sqlCon 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, 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 (DMS):
Función SQL | DMS | Función |
---|---|---|
SELECT TOP
|
Servidor SQL | Limita los resultados a n |
LIMIT
|
MySQL | Limita los resultados a n |
ROWNUM o ROWS
|
Oracle | Define el número de filas de resultado |
OFFSET + FETCH
|
Oracle, MySQL | Añade la cláusula ORDER BY y determina la cantidad de conjuntos de datos en los resultados
|
FETCH FIRST n ROWS ONLY
|
Oracle | Limita la cantidad de filas de resultados a n |