En SQL, no siempre necesitas ver todos los registros de una tabla.
A veces, solo quieres mostrar los primeros resultados, como los empleados con el salario más alto o los productos más vendidos.
Ahí es donde entran dos herramientas clave:
ORDER BYpara ordenar los resultados de una consulta.LIMIToTOPpara restringir la cantidad de registros devueltos.
Dominar estas cláusulas te ayudará a crear consultas más eficientes y a presentar datos de forma clara y ordenada.
En este artículo aprenderás:
- Cómo ordenar resultados con
ORDER BY. - Cómo mostrar solo los primeros registros con
LIMITyTOP. - Diferencias entre motores SQL como SQL Server, MySQL y PostgreSQL.
- Buenas prácticas para optimizar el rendimiento.
- Ejemplos listos para probar en db-fiddle.com.
La cláusula ORDER BY
La cláusula ORDER BY se utiliza para ordenar los resultados de una consulta según una o varias columnas.
Sintaxis general:
SELECT columnas
FROM tabla
ORDER BY columna [ASC | DESC]; ASC→ Orden ascendente (predeterminado).DESC→ Orden descendente.
Ejemplo básico
Queremos ver a los empleados ordenados por salario de mayor a menor:
SELECT nombre, salario
FROM empleados
ORDER BY salario DESC; Resultado:
| nombre | salario |
|---|---|
| Laura Sánchez | 95000 |
| Ana Torres | 90000 |
| Andrés Molina | 80000 |
Ordenar por múltiples columnas
Si dos empleados tienen el mismo salario, podemos ordenar también por nombre:
SELECT nombre, salario
FROM empleados
ORDER BY salario DESC, nombre ASC; Esto garantiza que los datos estén organizados de forma clara.
LIMIT y TOP: mostrar solo los primeros registros
En bases de datos grandes, no siempre quieres traer todos los datos.
Aquí entran en juego LIMIT y TOP, que permiten restringir cuántos registros se muestran.
LIMIT (MySQL, PostgreSQL, SQLite)
Se utiliza al final de la consulta:
SELECT nombre, salario
FROM empleados
ORDER BY salario DESC
LIMIT 5; Esto devuelve solo los 5 empleados con mayor salario.
TOP (SQL Server)
En SQL Server, la forma de limitar resultados es diferente:
SELECT TOP 5 nombre, salario
FROM empleados
ORDER BY salario DESC; 💡 Nota importante: En SQL Server,
TOPse coloca inmediatamente después deSELECT.
Diferencias entre motores
| Motor SQL | Comando para limitar |
|---|---|
| SQL Server | TOP |
| MySQL | LIMIT |
| PostgreSQL | LIMIT |
| SQLite | LIMIT |
Combinando ORDER BY y LIMIT/TOP
Queremos ver los 3 empleados con menor salario:
MySQL / PostgreSQL / SQLite:
SELECT nombre, salario
FROM empleados
ORDER BY salario ASC
LIMIT 3; SQL Server:
SELECT TOP 3 nombre, salario
FROM empleados
ORDER BY salario ASC; Buenas prácticas
- Siempre usar ORDER BY con LIMIT o TOP
Sin un criterio de orden, los resultados pueden ser impredecibles. - Ordena por columnas indexadas
Mejora el rendimiento y reduce el consumo de recursos. - Evita usar SELECT * con grandes tablas
Selecciona solo las columnas necesarias. - Prueba tus consultas en un entorno seguro
Plataformas como db-fiddle.com son ideales para practicar sin afectar datos reales.
Conclusión
ORDER BY y LIMIT/TOP son herramientas esenciales para analizar, ordenar y presentar datos en SQL.
Dominar estas cláusulas te permitirá trabajar de forma más eficiente y crear reportes precisos sin sobrecargar tus consultas.
Empieza a practicar ahora mismo con los ejemplos de este artículo en db-fiddle.com.