📘 Lección 5: Ordenando y limitando resultados con ORDER BY y LIMIT

🔹 Introducción

Hasta ahora aprendiste a:

  • Mostrar toda una tabla (SELECT *).
  • Elegir columnas específicas.
  • Filtrar resultados con condiciones (WHERE, AND, OR, NOT).

Pero muchas veces no basta con ver “qué registros cumplen una condición”. También queremos:

  • Ordenar los resultados de menor a mayor o al revés.
  • Mostrar solo los primeros registros (por ejemplo: los 5 alumnos más jóvenes).

👉 Para esto existen dos herramientas muy importantes en SQL:

  • ORDER BY → para ordenar los resultados.
  • LIMIT → para limitar cuántos resultados se muestran.

🔹 Sintaxis básica

Ordenar resultados

SELECT columnas
FROM tabla
ORDER BY columna ASC|DESC;
  • ASC → orden ascendente (menor a mayor, de A a Z). (valor por defecto)
  • DESC → orden descendente (mayor a menor, de Z a A).

Limitar resultados

SELECT columnas
FROM tabla
LIMIT número;
  • número → cuántos registros quieres mostrar.

🔹 Nuestra tabla de ejemplo

Trabajemos con la misma tabla alumnos:

idnombreedadciudad
1Ana20Buenos Aires
2Juan17Ciudad de México
3Laura22Madrid
4Pedro18Madrid

🔹 Ejemplo 1: ordenar por edad (ascendente)

Queremos ver los alumnos del más joven al más grande:

SELECT nombre, edad
FROM alumnos
ORDER BY edad ASC;

👉 Resultado esperado:

nombreedad
Juan17
Pedro18
Ana20
Laura22

🔹 Ejemplo 2: ordenar por edad (descendente)

Ahora del mayor al menor:

SELECT nombre, edad
FROM alumnos
ORDER BY edad DESC;

👉 Resultado esperado:

nombreedad
Laura22
Ana20
Pedro18
Juan17

🔹 Ejemplo 3: ordenar por ciudad (alfabéticamente)

Podemos ordenar por texto también:

SELECT nombre, ciudad
FROM alumnos
ORDER BY ciudad ASC;

👉 Resultado esperado (ordenado de A a Z):

nombreciudad
AnaBuenos Aires
JuanCiudad de México
LauraMadrid
PedroMadrid

🔹 Ejemplo 4: ordenar por varias columnas

Si hay empate en una columna, podemos usar otra para decidir el orden.
Por ejemplo: ordenar primero por ciudad y dentro de cada ciudad por edad descendente:

SELECT nombre, edad, ciudad
FROM alumnos
ORDER BY ciudad ASC, edad DESC;

👉 Resultado esperado:

nombreedadciudad
Ana20Buenos Aires
Juan17Ciudad de México
Laura22Madrid
Pedro18Madrid

🔹 Ejemplo 5: mostrar solo los primeros registros con LIMIT

Queremos ver únicamente a los 2 alumnos más jóvenes:

SELECT nombre, edad
FROM alumnos
ORDER BY edad ASC
LIMIT 2;

👉 Resultado esperado:

nombreedad
Juan17
Pedro18

🔹 Ejemplo 6: combinar filtros, orden y límite

Queremos ver los 2 alumnos más grandes que sean de Madrid:

SELECT nombre, edad, ciudad
FROM alumnos
WHERE ciudad = 'Madrid'
ORDER BY edad DESC
LIMIT 2;

👉 Resultado esperado:

nombreedadciudad
Laura22Madrid
Pedro18Madrid

🔹 Ejercicio práctico (para ti)

  1. Muestra los alumnos ordenados por nombre de la A a la Z.
  2. Muestra los alumnos ordenados por ciudad de la Z a la A.
  3. Muestra únicamente el alumno más joven (pista: ORDER BY + LIMIT 1).
  4. Muestra los 3 alumnos más grandes ordenados de mayor a menor.

🔹 Soluciones

SELECT nombre, edad
FROM alumnos
ORDER BY nombre ASC;
SELECT nombre, ciudad
FROM alumnos
ORDER BY ciudad DESC;
SELECT *
FROM alumnos
ORDER BY edad ASC
LIMIT 1;
SELECT nombre, edad
FROM alumnos
ORDER BY edad DESC
LIMIT 3;

🔹 Mini Quiz

 

Resultados

#1. ¿Qué palabra usamos para ordenar resultados en SQL?

#2. ¿Cuál es el valor por defecto de ORDER BY si no ponemos ASC o DESC?

#3. ¿Qué hace la cláusula LIMIT 2 en una consulta?

Previa
Finalizar

🔹 Resumen de la lección

  • ORDER BY se usa para ordenar resultados por una o varias columnas.
  • El orden puede ser ASC (ascendente) o DESC (descendente).
  • Puedes ordenar tanto por números como por texto.
  • LIMIT permite mostrar un número específico de registros.
  • Puedes combinar filtros (WHERE), orden (ORDER BY) y límite (LIMIT) para obtener resultados muy específicos.

👉 En la próxima lección aprenderás a usar alias y operaciones simples para renombrar columnas y hacer cálculos dentro de las consultas.

Encuentra más ejemplos y teoría en la página principal del curso SQL gratuito.

Scroll al inicio