0Pricing
SQL Academy · Lección

Ordenación con ORDER BY

Ordene las filas de forma ascendente y descendente

Ordenación con ORDER BY es una lección gratuita de SQL Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de SQL Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de SQL Academy incluye 4 lecciones en total.

Por qué importa el orden

De forma predeterminada, un SELECT devuelve las filas en un orden no garantizado. La base de datos puede devolverlas en cualquier secuencia que le resulte conveniente.

Cuando necesite un resultado predecible, como una lista alfabética o un feed con los elementos más recientes primero, debe solicitarlo explícitamente con ORDER BY.

-- Without ORDER BY, row order is NOT guaranteed
SELECT name, price
FROM products;

La cláusula ORDER BY

ORDER BY se coloca cerca del final de una consulta, después de WHERE y antes de LIMIT. Indique la columna por la que desea ordenar.

Esto ordena los productos alfabéticamente por name.

SELECT name, price
FROM products
ORDER BY name;

El orden ascendente es el predeterminado

Si no indica lo contrario, la ordenación es ascendente: de la A a la Z para el texto, del menor al mayor para los números y de la fecha más antigua a la más reciente.

Puede escribir ASC para hacerlo explícito, pero no cambia nada.

-- These two queries are identical
SELECT name, price FROM products ORDER BY price;
SELECT name, price FROM products ORDER BY price ASC;

Ordenación descendente

Añada DESC para invertir el orden: de la Z a la A, del mayor al menor y de lo más reciente a lo más antiguo.

Esto muestra primero los productos más caros.

SELECT name, price
FROM products
ORDER BY price DESC;

Ordenación de fechas

Las fechas y las marcas de tiempo se ordenan cronológicamente. DESC muestra primero las filas más recientes, el patrón clásico para feeds de actividad y registros.

SELECT id, total, created_at
FROM orders
ORDER BY created_at DESC;

Ordenar por una columna que no selecciona

La columna de ordenación no tiene que aparecer en la lista de SELECT. Puede ordenar por algo que el usuario nunca ve.

Aquí solo mostramos el nombre, pero ordenamos internamente por el precio.

SELECT name
FROM products
ORDER BY price DESC;

Ordenar por la posición de una columna

PostgreSQL permite ordenar por la posición de una columna en la lista de SELECT. ORDER BY 2 significa «la segunda columna seleccionada».

Resulta práctico para consultas rápidas, pero usar nombres de columna reales es más claro y seguro.

-- 2 refers to price (the 2nd column)
SELECT name, price
FROM products
ORDER BY 2 DESC;

Ordenar por una expresión

Puede ordenar por un valor calculado, no solo por una columna almacenada. La expresión se evalúa para cada fila y después se utiliza para ordenar.

Esto clasifica los productos según el valor total de su inventario.

SELECT name, price, stock
FROM products
ORDER BY price * stock DESC;

Ordenar por un alias

Si asigna un alias a una expresión en SELECT, puede reutilizarlo en ORDER BY. Así la consulta resulta más legible.

SELECT name, price * stock AS inventory_value
FROM products
ORDER BY inventory_value DESC;

Distinción entre mayúsculas y minúsculas al ordenar texto

La ordenación de texto sigue la intercalación de la base de datos, por lo que las mayúsculas y minúsculas pueden ordenarse de una forma distinta de la esperada.

Para forzar una ordenación que no distinga entre mayúsculas y minúsculas, ordene por una copia de la columna convertida a minúsculas con LOWER().

SELECT name
FROM products
ORDER BY LOWER(name);

Dónde encaja ORDER BY

Recuerde el orden lógico de las cláusulas:

  • FROM selecciona la tabla
  • WHERE filtra las filas
  • ORDER BY ordena lo que queda
  • LIMIT recorta el resultado

La ordenación siempre se realiza después del filtrado.

SELECT name, price
FROM products
WHERE price > 10
ORDER BY price DESC;

Comprobación rápida

¿Qué consulta muestra primero los productos más baratos?

Resumen

Ahora puede controlar el orden de las filas:

  • ORDER BY column ordena el resultado
  • ASC (predeterminado) va del menor al mayor; DESC lo invierte
  • Puede ordenar por columnas, posiciones, expresiones o alias
  • Use LOWER() para ordenar texto sin distinguir entre mayúsculas y minúsculas

A continuación, resolverá los empates ordenando por varias columnas a la vez.

SELECT name, price
FROM products
ORDER BY price DESC;

Preguntas frecuentes

¿La lección «Ordenación con ORDER BY» es gratis?

Sí — el texto completo de «Ordenación con ORDER BY» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de SQL Academy, actualiza a CoddyKit PRO. El curso de SQL Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Ordenación con ORDER BY»?

Ordene las filas de forma ascendente y descendente Practicas SQL Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar SQL Academy?

No se requiere experiencia previa. SQL Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Ordenación con ORDER BY»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de SQL Academy?

Sí. Cada lección de SQL Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Ordenación con ORDER BY
  2. Ordenación por varias columnas
  3. LIMIT y OFFSET
  4. Cómo encontrar los registros superiores e inferiores
← Volver a SQL Academy