🔹 Introducción
- 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:
🔹 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:
| id | nombre | edad | ciudad |
|---|---|---|---|
| 1 | Ana | 20 | Buenos Aires |
| 2 | Juan | 17 | Ciudad de México |
| 3 | Laura | 22 | Madrid |
| 4 | Pedro | 18 | Madrid |
🔹 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:
| nombre | edad |
|---|---|
| Juan | 17 |
| Pedro | 18 |
| Ana | 20 |
| Laura | 22 |
🔹 Ejemplo 2: ordenar por edad (descendente)
Ahora del mayor al menor:
SELECT nombre, edad
FROM alumnos
ORDER BY edad DESC;
👉 Resultado esperado:
| nombre | edad |
|---|---|
| Laura | 22 |
| Ana | 20 |
| Pedro | 18 |
| Juan | 17 |
🔹 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):
| nombre | ciudad |
|---|---|
| Ana | Buenos Aires |
| Juan | Ciudad de México |
| Laura | Madrid |
| Pedro | Madrid |
🔹 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:
| nombre | edad | ciudad |
|---|---|---|
| Ana | 20 | Buenos Aires |
| Juan | 17 | Ciudad de México |
| Laura | 22 | Madrid |
| Pedro | 18 | Madrid |
🔹 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:
| nombre | edad |
|---|---|
| Juan | 17 |
| Pedro | 18 |
🔹 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:
| nombre | edad | ciudad |
|---|---|---|
| Laura | 22 | Madrid |
| Pedro | 18 | Madrid |
🔹 Ejercicio práctico (para ti)
- Muestra los alumnos ordenados por nombre de la A a la Z.
- Muestra los alumnos ordenados por ciudad de la Z a la A.
- Muestra únicamente el alumno más joven (pista:
ORDER BY+LIMIT 1). - 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?
🔹 Resumen de la lección
ORDER BYse 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.
LIMITpermite 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.