Ordenamiento en SQL (ORDER BY)
La cláusula ORDER BY se utiliza en SQL para ordenar los resultados de una consulta en función de una o más columnas. Este orden puede ser ascendente o descendente, dependiendo de las necesidades del usuario.
Características del ORDER BY:
- Control del orden:
- Ascendente (ASC): Ordena los resultados de menor a mayor (por defecto).
- Descendente (DESC): Ordena los resultados de mayor a menor.
- Ordenación múltiple:
- Puedes especificar varias columnas para ordenar los resultados.
- El orden de prioridad sigue el orden en que se escriben las columnas.
- Compatibilidad con funciones:
- Puede ordenar por expresiones o funciones, como concatenaciones, cálculos o agregados.
Sintaxis:
SELECT columnas
FROM tabla
[WHERE condición]
ORDER BY columna1 [ASC | DESC], columna2 [ASC | DESC];
Ejemplo básico:
Dada la tabla empleados:
id_empleadonombreedadsalario1Ana3015002Luis4520003Marta291800
Ordenar por salario de menor a mayor:
SELECT nombre, salario
FROM empleados
ORDER BY salario ASC;
Resultado:
nombresalarioAna1500Marta1800Luis2000
Ordenar por salario de mayor a menor:
SELECT nombre, salario
FROM empleados
ORDER BY salario DESC;
Resultado:
nombresalarioLuis2000Marta1800Ana1500
Ordenamiento múltiple:
Ordenar por edad y, en caso de empate, por salario:
SELECT nombre, edad, salario
FROM empleados
ORDER BY edad ASC, salario DESC;
Resultado:
nombreedadsalarioMarta291800Ana301500Luis452000
Ordenar por expresiones o funciones:
Puedes usar funciones o expresiones directamente en ORDER BY.
Ordenar por la longitud del nombre:
SELECT nombre, salario
FROM empleados
ORDER BY LENGTH(nombre) ASC;
Resultado:
nombresalarioAna1500Luis2000Marta1800
Ordenar por columnas que no están en la lista de selección:
Aunque una columna no esté en la lista de columnas seleccionadas, puedes usarla en ORDER BY.
SELECT nombre
FROM empleados
ORDER BY salario DESC;
Resultado:
nombreLuisMartaAna
Importancia del ORDER BY:
- Presentación ordenada:
- Mejora la legibilidad de los datos, especialmente para reportes o tablas grandes.
- Preparación de datos:
- Facilita análisis posteriores al ordenar datos de forma significativa.
- Compatibilidad con otras operaciones:
- Combina bien con funciones de agregación, particionamiento y paginación.
Notas importantes:
- Si no especificas ASC o DESC, el orden será ASC por defecto.
- El rendimiento de
ORDER BY puede depender del tamaño de la tabla y de la existencia de índices.
El ordenamiento es una herramienta poderosa para estructurar los resultados y facilitar su comprensión y análisis.