SQL ORDER BY: aprende a ordenar los resultados de tu búsqueda

Con SQL ORDER BY puedes organizar los resultados de búsqueda para consultas de datos en orden ascendente o descendente. Al ordenar los datos de tu tabla de destino en filas y columnas, te será mucho más fácil encontrar los datos que buscas, lo que acelera los análisis de datos y las consultas de conjuntos complejos.

¿Qué es el comando SQL ORDER BY?

El comando ORDER BY en SQL se emplea para ordenar datos y resultados de conjuntos de datos simples o complejos en la tabla de destino. Con él se puede especificar que los datos de destino se ordenen en sentido ascendente o descendente, por lo que quedarán organizados y serán fáciles de consultar. Por defecto, el comando ordena los datos de la consulta en orden ascendente, es decir, de la A a la Z o del valor menor al mayor. Si se prefiere un orden diferente, debe introducirse la palabra clave ASC para ascendente o DESC para descendente.

Puedes elegir una o varias columnas para ordenar los resultados de tu consulta. La función ORDER BY es crucial, ya que presenta los datos de una manera ordenada y permite así consultar datos de manera rápida y eficaz. ORDER BY se utiliza a menudo junto con SQL SELECT, SQL WHERE y, dependiendo del caso, con otros operadores SQL o funciones como SQL GROUP BY

Consejo

¿Te gustaría trabajar con SQL, pero te faltan los conocimientos para ello? En nuestra introducción a SQL con ejemplos puedes aprender lo básico para comenzar a utilizar este lenguaje de programación.

La sintaxis de SQL ORDER BY

La sintaxis de ORDER BY es la siguiente:

SELECT  columnaA, columnaB, …  o *
FROM  tabla
ORDER BY  columnaA, columnaB, …  (opcional: ASC o DESC)
sql
Nota

Si especificas solo una columna después de ORDER BY, obtendrás una columna con los resultados ordenados. Si especificas varias columnas, la cláusula ordena primero todos los resultados según la columna A. Si hay entradas idénticas en distintas filas, la cláusula ordena las entradas de acuerdo con la columna B.

Puedes ampliar la sintaxis del SQL ORDER BY con los operadores o parámetros que quieras. Mediante la cláusula WHERE defines, por ejemplo, condiciones adicionales para limitar los resultados de la consulta. Para combinar con esta cláusula, debes escribir lo siguiente:

SELECT  columnaA, columnaB, …  o *
FROM  tabla
WHERE  columnaA  =  'condición'
ORDER BY  columnaA, columnaB, …  (opcional: ASC o DESC)
sql

Se pueden utilizar estos parámetros:

  • SELECT: mediante SQL SELECT puedes establecer qué datos quieres analizar. Con el asterisco * especificas si la consulta es para todo el conjunto de datos o puedes indicar nombres de columnas para examinar columnas específicas.
  • FROM: establece de qué tabla se consultan los datos.
  • WHERE: la cláusula opcional SQL WHERE permite definir una condición específica según la cual deben ordenarse los resultados. En este caso, puedes utilizar operadores de comparación adicionales como = u operadores como SQL LIKE o SQL NOT.
  • ORDER BY: establece según qué valor deben ordenarse los resultados. Si no añades ni ASC ni DESC, el orden será alfabético o numérico descendente automáticamente.
Nota

La cláusula ORDER BY ordena los valores NULL en función de la base de datos utilizada y la secuencia de orden elegida. En SQLite, MySQL y SQL Server, el comando trata los valores NULL como los valores más bajos, por lo que cuando se ordenan en sentido ascendente se sitúan al principio. En Oracle y PostgreSQL, los valores NULL se consideran los valores más altos, por lo que al ordenarse en sentido ascendente se sitúan al final.

Los usos de ORDER BY

Estos son algunas de las posibles aplicaciones de SQL ORDER BY:

  • clasificar información de productos por nombre, categoría o precio;
  • clasificar transacciones por cantidad, fecha o nombre;
  • ordenar pedidos por cantidad o valoraciones;
  • ordenar empleados por salario, encargos, rendimiento o departamento;
  • realizar listas de inventario por cantidad o nombre;
  • ordenar entregas por código postal o número de seguimiento;
  • ordenar listas de clientes por región o edad.
Consejo

Con SQL Server Hosting podrás beneficiarte de un sistema de gestión de bases de datos escalable, seguro y con tiempos de acceso rápidos y un rendimiento personalizado. Además, también podrás contar con la eficaz protección de datos que brindan los estándares alemanes.

Servidores virtuales VPS
Virtualización completa con acceso root
  • Ancho de banda de hasta 1 Gb/s y tráfico ilimitado
  • Almacenamiento SSD NVMe ultrarrápido
  • Incluye: edición Plesk Web Host

Ejemplos de SQL ORDER BY

A continuación, te explicamos cómo funciona ORDER BY mediante tres ejemplos.

Ordenar productos por precio

Imagina que en la tabla “Productos” necesitas ordenar los productos de la categoría Belleza por precio en sentido ascendente. Para ello, debes utilizar FROM para establecer la categoría que quieres ordenar. Después, escribe ORDER BY y ASC para ordenar por precio en sentido ascendente de la siguiente manera:

SELECT  *
FROM  Productos
WHERE  categoría  = 'Belleza'
ORDER BY  precio  ASC;
sql

Filtrar grupos de clientes

Imagina que en la tabla “Clientes” quieres ordenar alfabéticamente los nombres de los clientes procedentes de Alemania. Para ello, debes utilizar la condición “país” y, para ordenar de la A a la Z, debes añadir ASC. Si quisieras ordenar de la Z a la A, deberías introducir DESC después del comando ORDER BY de SQL. Se escribiría así:

SELECT  *
FROM  Clientes
WHERE  país = 'Alemania'
ORDER BY  nombre  DESC;
sql

Ordenar con varias condiciones

Imagina que en la tabla “Productos” necesitas obtener las entradas de la categoría “Electrónica” por cantidad en orden alfabético ascendente. Y, si la cantidad del pedido es idéntica, quieres ordenar los pedidos por región. La sintaxis sería la siguiente:

SELECT  *
FROM  Productos
WHERE  categoría  =  'Electrónica'
ORDER BY  cantidad ASC,  región  DESC;
sql

Alternativas a SQL ORDER BY

Básicamente, no existe una alternativa que tenga la misma función que ORDER BY, pero entre los comandos SQL que suelen emplearse en combinación con SQL ORDER BY se encuentra SQL GROUP BY. Mientras que con GROUP BY puedes agrupar conjuntos de datos de columnas, por ejemplo, por categoría, con ORDER BY también puedes ordenarlos.

Por ejemplo, imagina que quieres agrupar la cantidad de pedidos de clientes por país y, después, ordenar por cantidad media de pedidos de manera ascendente mediante la función agregada SQL AVG. Esta es la sintaxis que deberías usar:

SELECT  país, AVG(cantidad)
FROM  Clientes
WHERE  categoría = 'Electrónica'
GROUP BY  país
ORDER BY  AVG(cantidad) ASC;
sql

La cláusula SQL HAVING también permite ordenar conjuntos de datos según criterios y condiciones definidos. Al utilizar LIMIT, se puede limitar el número de resultados.

¿Le ha resultado útil este artículo?
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración de su navegador en nuestra. Política de Cookies.
Page top