La cláusula ORDER BY en SQL
La cláusula
ORDER BY
en SQL ordena las filas del resultado según una o varias columnas, de forma ascendente o descendente.
La cláusula ORDER BY en SQL es una pieza habitual del flujo SQL: consultar, filtrar, agrupar o modificar datos. Cada ejemplo usa tablas de demostración para que puedas experimentar sin riesgo.
Cómo practicar: ejecuta la consulta tal cual, revisa columnas y tipos, luego cambia un filtro o un alias y vuelve a ejecutar.
Por defecto el orden es ascendente (de menor a mayor, o de la A a la Z) y no hace falta escribir
ASC
. Si quieres invertirlo —por ejemplo países de la Z a la A o ventas de mayor a menor— añade
DESC
detrás del nombre de la columna.
ORDER BY
siempre va al final de la consulta, después de
FROM
y, si filtras datos, de
WHERE
. No cambia qué filas devuelves, solo en qué orden las ves.
Sintaxis ORDER BY
Indica la columna (o columnas) y, si quieres, la dirección
ASC
o
DESC
:
Ejemplo
SELECT columna1, columna2, ...
FROM nombre_tabla
ORDER BY columna1, columna2, ... ASC|DESC;
ORDER BY ascendente en SQL
Clientes ordenados alfabéticamente por país. Sin
DESC
, SQL asume orden ascendente (Alemania, España, Francia…):
Resultado: países en orden alfabético (Alemania, España, Francia…).
| Pais |
|---|
| Alemania |
| España |
| Francia |
| Italia |
| Suecia |
| UK |
Pais (extracto de columnas).Base de datos demo para ORDER BY
La sintaxis indica el orden de argumentos y palabras clave. Copia la plantilla y sustituye nombres de columnas o literales entre comillas simples.
| ID_Cliente | Nombre_Cliente | Ciudad | Pais | N_Ventas |
|---|---|---|---|---|
| 1 | Ana García | Madrid | España | 120 |
| 2 | Luis Pérez | Barcelona | España | 85 |
| 3 | María López | Valencia | España | 200 |
| 4 | Carlos Ruiz | Madrid | España | 45 |
| 5 | Elena Torres | Sevilla | España | 67 |
| 6 | John Smith | London | UK | 150 |
| 7 | Marie Dubois | Paris | Francia | 92 |
| 8 | Hans Müller | Berlin | Alemania | 78 |
| 9 | Luca Rossi | Roma | Italia | 110 |
| 10 | Sofia Anders | Stockholm | Suecia | 55 |
Base de datos demo para ORDER BY
| ID_Cliente | Nombre_Cliente | Ciudad | Pais | N_Ventas |
|---|---|---|---|---|
| 1 | Ana García | Madrid | España | 120 |
| 2 | Luis Pérez | Barcelona | España | 85 |
| 3 | María López | Valencia | España | 200 |
| 4 | Carlos Ruiz | Madrid | España | 45 |
| 5 | Elena Torres | Sevilla | España | 67 |
| 6 | John Smith | London | UK | 150 |
| 7 | Marie Dubois | Paris | Francia | 92 |
| 8 | Hans Müller | Berlin | Alemania | 78 |
| 9 | Luca Rossi | Roma | Italia | 110 |
| 10 | Sofia Anders | Stockholm | Suecia | 55 |
ORDER BY descendente (DESC)
El mismo listado, pero de la Z a la A con
DESC
:
ORDER BY con varias columnas
También puedes ordenar por dos columnas: SQL ordena primero por la primera; si dos filas empatan (mismo país), las desempata con la segunda (nombre de cliente):
ASC y DESC en la misma consulta
En cada columna puedes indicar la dirección: aquí los países van de la A a la Z y, dentro de cada país, los nombres de la Z a la A:
ASC en país, DESC en nombre
SELECT *
FROM Clientes
ORDER BY Pais ASC, Nombre_Cliente DESC;
Resumen
ORDER BYordena el resultado; va al final de la consulta.- Por defecto es ascendente (
ASC). DESCinvierte el orden.- Puedes ordenar por varias columnas.
Cómo practicar en el editor
1. Pulsa Pruébalo tú mismo en un ejemplo.
2. Cambia un filtro, columna o literal.
3. Ejecuta y compara el resultado con la tabla de ejemplo.
Practica con ejercicios
Repasa la lección con consultas sobre Clientes (Elena Torres, Valencia…) y Productos (pera, mango, fresa) de nuestra base demo.
Ejercicio: Ordenar por una columna
Practica ORDER BY para ordenar resultados por país. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).
Ejercicio: Orden descendente (DESC)
Practica ORDER BY … DESC. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).
Ejercicio: Ordenar por dos columnas
Practica ORDER BY con país y nombre de cliente. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).
Ejercicio: ASC y DESC combinados
Practica orden ascendente y descendente en la misma consulta. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).
Cómo practicar
1. Pulsa Ejecutar aquí en el bloque.
2. Modifica la consulta (filtro, columnas…).
3. O abre el editor para más espacio.
Comprueba lo aprendido
Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.