📊 Ordenar y limitar resultados en SQL
Ya sabemos consultar datos y filtrarlos con WHERE.
Pero aún nos falta algo muy importante: controlar el orden en el que aparecen los resultados y cuántos queremos recuperar.
Porque muchas veces no queremos todos los registros.
Queremos, por ejemplo:
- Los primeros 10
- Los más recientes
- Los ordenados alfabéticamente
- O simplemente una parte concreta de la información
Y para eso entran dos piezas fundamentales de SQL:
ORDER BYLIMIT
🔠 ORDER BY - Ordenar resultados
ORDER BY sirve para ordenar los resultados de una consulta según una columna concreta.
Por ejemplo, si queremos recuperar títulos de trabajos ordenados alfabéticamente, podemos hacer algo así:
SELECT title
FROM jobs
ORDER BY title ASC;
Aquí estamos diciendo:
- Recupera el campo
title - Desde la tabla
jobs - Y ordénalo de forma ascendente
Es decir, de la A a la Z.
⬆️ ASC - Orden ascendente
ASC significa ascending.
Se usa cuando queremos ordenar de menor a mayor o de la A a la Z.
Por ejemplo:
- Texto: A → Z
- Números: 1 → 9
- Fechas: más antiguas → más recientes
Además, en muchos casos ASC es el comportamiento por defecto.
Eso significa que si escribes:
SELECT title
FROM jobs
ORDER BY title;
normalmente SQL entenderá que quieres orden ascendente aunque no lo indiques explícitamente.
⬇️ DESC - Orden descendente
Si quieres justo lo contrario, usas DESC.
SELECT title
FROM jobs
ORDER BY title DESC;
En este caso el orden sería descendente.
Por ejemplo:
- Texto: Z → A
- Números: mayor → menor
- Fechas: más recientes → más antiguas
Es muy útil cuando quieres ver primero los valores “más altos”, “más nuevos” o “últimos”.
🧩 Puedes ordenar por cualquier campo
No estás limitado a ordenar por el título.
Puedes ordenar por cualquier columna de la tabla:
titlecompanyidcreated_atsalary_min
Lo importante es que definas claramente qué campo quieres usar como criterio de ordenación.
🔢 LIMIT - Limitar el número de resultados
LIMIT sirve para restringir cuántas filas devuelve una consulta.
Por ejemplo:
SELECT id, company
FROM jobs
LIMIT 1;
Esto devuelve solo un resultado.
Y aquí hay algo importante:
si no estás ordenando los datos de ninguna manera, ese resultado será simplemente el primero que la base de datos devuelva según su orden actual.
Y eso puede no ser lo que realmente quieres.
⚠️ Limitar sin ordenar puede darte resultados engañosos
Una consulta como esta:
SELECT id, company
FROM jobs
LIMIT 1;
puede parecer correcta, pero en realidad estás diciendo:
- Dame un solo resultado
- El que sea primero según el orden actual
Eso no siempre es útil ni predecible.
Por eso, muchas veces LIMIT cobra sentido de verdad cuando lo combinas con ORDER BY.
🤝 ORDER BY + LIMIT - La combinación clave
Aquí es donde estas dos cláusulas se vuelven realmente potentes juntas.
Por ejemplo:
SELECT id, company
FROM jobs
ORDER BY id DESC
LIMIT 1;
Esta consulta ya no dice simplemente “dame uno”.
Dice:
- Ordena los resultados por
idde mayor a menor - Y luego dame solo el primero
Es decir, en este caso estarías recuperando el registro con el ID más alto.
🧠 Por qué esto importa tanto
Porque muchas veces lo que quieres no es “cualquier resultado”.
Lo que quieres es:
- El primero alfabéticamente
- El último insertado
- Los 5 más recientes
- Los 10 más baratos
- Los 3 salarios más altos
Y todo eso depende completamente del orden en que prepares los datos antes de limitarlos.
⚙️ El orden de ejecución en SQL
Aquí hay una idea especialmente importante que suele confundir al principio:
En SQL, una cosa es cómo escribes la consulta y otra distinta cómo se ejecuta realmente.
Por ejemplo, tú escribes algo así:
SELECT id, company
FROM jobs
WHERE active = 1
ORDER BY id DESC
LIMIT 5;
Pero internamente SQL no lo procesa en ese orden visual.
Según lo que se explica en el vídeo, primero se evalúan partes como FROM y WHERE, y más adelante se aplican ORDER BY y LIMIT.
🧱 Una forma intuitiva de entenderlo
Puedes pensar en ello así:
- Primero se decide de dónde salen los datos
- Luego se decide qué filas cumplen las condiciones
- Después se ordenan
- Y finalmente se limitan
Eso explica por qué ORDER BY y LIMIT juntos tienen tanto sentido:
- Primero ordenas
- Luego recortas
No al revés.
🤯 Por qué a veces SQL “hace cosas raras”
Muchas confusiones al empezar con SQL vienen de aquí.
Tú ves una consulta escrita en cierto orden y das por hecho que la base de datos la ejecuta exactamente así.
Pero no.
Y entender esa diferencia te ayuda muchísimo a razonar mejor las queries y a evitar errores mentales.
🧠 Qué debes llevarte de esta clase
Con esta clase ya dominas dos herramientas fundamentales para consultar datos mejor:
ORDER BYpara ordenar resultadosLIMITpara controlar cuántos resultados quieres
Y además has visto una idea muy importante:
- El orden en que escribes una query no siempre coincide con el orden real de ejecución
Eso parece un detalle pequeño, pero cambia mucho cómo entiendes SQL.
🚀 A partir de aquí
Ahora ya puedes hacer consultas bastante más útiles:
- Ordenar por nombre, ID o cualquier otro campo
- Recuperar solo una parte de los resultados
- Combinar ordenación y límite de forma intencional
- Entender mejor cómo piensa SQL al ejecutar una consulta
En la siguiente parte lo normal será seguir refinando consultas, agrupar datos o empezar a trabajar con operaciones más avanzadas.
💡 Tip:
LIMITsinORDER BYsuele significar “dame cualquiera”.LIMITconORDER BYsignifica “dame exactamente el que quiero”.