Objetivo

Al finalizar esta lección podrás:

  • Ordenar resultados con ORDER BY.
  • Usar ASC y DESC.
  • Ordenar por más de una columna.
  • Entender el orden típico de una consulta: SELECT, FROM, WHERE, ORDER BY.

ORDER BY

ORDER BY se usa para ordenar el resultado final. Se coloca al final de la consulta.

SELECT columnas
FROM tabla
WHERE condicion
ORDER BY columna ASC|DESC;
  • ASC: ascendente (A→Z, 0→9). Suele ser el valor por defecto.
  • DESC: descendente (Z→A, 9→0).

Ejemplos

Ejemplo 1: Ordenar por precio (menor a mayor)

SELECT nombre, precio
FROM productos
ORDER BY precio ASC;

Ejemplo 2: Ordenar por stock (mayor a menor)

SELECT nombre, stock
FROM productos
ORDER BY stock DESC;

Ejemplo 3: Orden múltiple

Primero ordena por categoría, y dentro de cada categoría por precio (desc).

SELECT categoria, nombre, precio
FROM productos
ORDER BY categoria ASC, precio DESC;

Ejemplo 4: ORDER BY con WHERE

SELECT nombre, categoria, precio
FROM productos
WHERE categoria = 'Papelería'
ORDER BY precio ASC;

Ejercicios propuestos (con solución explicada)

Resuelve y luego revisa la solución.

Ejercicio 1

Lista productos ordenados por nombre (A→Z).

Ver solución
SELECT nombre, precio, stock
FROM productos
ORDER BY nombre ASC;

Explicación: orden alfabético ascendente.

Ejercicio 2

Lista productos ordenados por precio (mayor→menor).

Ver solución
SELECT nombre, precio
FROM productos
ORDER BY precio DESC;

Explicación: DESC muestra primero los más caros.

Ejercicio 3

Lista productos de Papelería ordenados por stock (mayor→menor).

Ver solución
SELECT nombre, stock, categoria
FROM productos
WHERE categoria = 'Papelería'
ORDER BY stock DESC;

Explicación: primero filtras (WHERE) y al final ordenas (ORDER BY).

Ejercicio 4

Lista productos ordenados por categoría y luego por nombre (A→Z).

Ver solución
SELECT categoria, nombre
FROM productos
ORDER BY categoria ASC, nombre ASC;

Explicación: orden múltiple: el segundo orden se aplica dentro del primero.

Ejercicio 5

Clientes de Quito o Guayaquil ordenados por ciudad y nombre.

Ver solución
SELECT nombre, ciudad
FROM clientes
WHERE ciudad = 'Quito' OR ciudad = 'Guayaquil'
ORDER BY ciudad ASC, nombre ASC;

Explicación: filtro OR y orden por dos columnas.

Errores comunes

  • ❌ Poner ORDER BY antes de WHERE — ✅ el orden es: WHERE y luego ORDER BY.
  • ❌ Suponer que “ya viene ordenado” — ✅ sin ORDER BY no hay garantía de orden.
  • ❌ Orden múltiple sin entender el efecto — ✅ primero se aplica el primer campo, luego el segundo dentro del grupo.