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…):

Ordenar por país (A → Z)

    SELECT * 
FROM Clientes
ORDER BY Pais;
  
Abrir en editor

Resultado: países en orden alfabético (Alemania, España, Francia…).

Pais
Alemania
España
Francia
Italia
Suecia
UK
Orden ascendente por 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
1Ana GarcíaMadridEspaña120
2Luis PérezBarcelonaEspaña85
3María LópezValenciaEspaña200
4Carlos RuizMadridEspaña45
5Elena TorresSevillaEspaña67
6John SmithLondonUK150
7Marie DuboisParisFrancia92
8Hans MüllerBerlinAlemania78
9Luca RossiRomaItalia110
10Sofia AndersStockholmSuecia55
Tabla Clientes en el editor SQL (10 filas). La usamos en la mayoría de ejemplos de esta fase.

Base de datos demo para ORDER BY

ID_Cliente Nombre_Cliente Ciudad Pais N_Ventas
1Ana GarcíaMadridEspaña120
2Luis PérezBarcelonaEspaña85
3María LópezValenciaEspaña200
4Carlos RuizMadridEspaña45
5Elena TorresSevillaEspaña67
6John SmithLondonUK150
7Marie DuboisParisFrancia92
8Hans MüllerBerlinAlemania78
9Luca RossiRomaItalia110
10Sofia AndersStockholmSuecia55
Tabla Clientes en el editor SQL (10 filas). La usamos en la mayoría de ejemplos de esta fase.


ORDER BY descendente (DESC)

El mismo listado, pero de la Z a la A con DESC :

País de la Z a la A

    SELECT * 
FROM Clientes
ORDER BY Pais DESC;
  
Abrir en editor

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):

País y, a igualdad, nombre

    SELECT * 
FROM Clientes
ORDER BY Pais, Nombre_Cliente;
  
Abrir en editor

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;
  
Abrir en editor

Resumen

  • ORDER BY ordena el resultado; va al final de la consulta.
  • Por defecto es ascendente (ASC).
  • DESC invierte 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…).

Consulta

    SELECT *
FROM Clientes
ORDER BY Pais;
  
Abrir en editor

Ejercicio: Orden descendente (DESC)

Practica ORDER BY … DESC. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).

Consulta

    SELECT *
FROM Clientes
ORDER BY Pais DESC;
  
Abrir en editor

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…).

Consulta

    SELECT *
FROM Clientes
ORDER BY Pais, Nombre_Cliente;
  
Abrir en editor

Ejercicio: ASC y DESC combinados

Practica orden ascendente y descendente en la misma consulta. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).

Consulta

    SELECT *
FROM Clientes
ORDER BY Pais ASC, Nombre_Cliente DESC;
  
Abrir en editor

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.