Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

Cláusula ORDER BY de MySQL

La cláusula `ORDENAR POR` de MySQL se utiliza para ordenar el conjunto de resultados de una consulta por una o varias columnas. Permite la clasificación por orden ascendente o descendente, lo que puede ayudar a organizar los datos de forma significativa.

Utilización

La cláusula `ORDER BY` se aplica al final de una sentencia `SELECT` para ordenar los datos recuperados. Puedes especificar un orden ascendente mediante `ASC` (por defecto) o descendente mediante `DESC`.

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;

En esta sintaxis, `ORDENAR POR columna1` ordena el resultado basándose en `columna1`, y se pueden añadir columnas posteriores para una ordenación secundaria.

Ejemplos

1. Clasificación básica

SELECT * 
FROM products
ORDER BY price;

Este ejemplo ordena la tabla `productos` por la columna `precio` en orden ascendente por defecto.

2. Orden descendente

SELECT first_name, last_name
FROM employees
ORDER BY last_name DESC;

Aquí, la tabla `empleados` se ordena por `apellido` en orden descendente, lo que resulta útil para invertir el orden alfabético.

3. Ordenación multicolumna

SELECT first_name, last_name, department
FROM employees
ORDER BY department ASC, last_name DESC;

Este ejemplo ordena la tabla `empleados` primero por `departamento` en orden ascendente y luego por `apellido` en orden descendente dentro de cada grupo de departamentos.

4. Ordenar por expresiones

SELECT product_name, price, quantity, (price * quantity) AS total_value
FROM products
ORDER BY total_value DESC;

En este ejemplo, la tabla `productos` se ordena por un campo calculado `valor_total`, que es una expresión creada mediante un alias.

Consejos y buenas prácticas

  • Utiliza índices de columna. La ordenación es más eficaz en columnas indexadas, lo que reduce el tiempo de consulta.
  • Limita los resultados por rendimiento. Combina `ORDENAR POR` con `LÍMITE` para controlar el número de filas devueltas y mejorar el rendimiento.
  • Especifica la dirección de ordenación. Indica explícitamente la dirección de ordenación (ASC o DESC) para mayor claridad, especialmente en consultas complejas.
  • Evita la clasificación innecesaria. Utiliza `ORDENAR POR` sólo cuando sea necesario un orden específico para minimizar la sobrecarga de la consulta.
  • Ordena por expresiones y alias. Utiliza expresiones o campos calculados, y ordénalos por sus alias para conseguir una ordenación más dinámica.
  • Manejar valores NULL. Por defecto, los valores NULL se ordenan primero en orden ascendente y último en orden descendente. Se pueden hacer ajustes mediante expresiones si se desea un orden diferente.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis