ORDENAR POR
La ORDER BY cláusula se usa en SQL para ordenar el conjunto de resultados de una SELECT instrucción . Esto significa que organiza las filas de la salida en función de los valores de una o varias columnas.
Esto es esencial para organizar los datos de una manera que facilita la interpretación y el uso. Puede especificar una o varias columnas para ordenar por y tiene control sobre el criterio de ordenación: ascendente (de menor a mayor o A a Z) o descendente (de mayor a más pequeño o Z a A). Sin ORDER BY, el orden de las filas devueltas es impredecible.
Ordenación en orden ascendente (valor predeterminado)
SELECT *
FROM sales.products
ORDER BY price;
Esta consulta recupera los productos ordenados por precio en orden ascendente, que es el comportamiento predeterminado de ORDER BY.
Aunque es redundante, puede agregar ASC explícitamente al final de la consulta, lo que podría mejorar la legibilidad.
Para cambiar el orden, debe indicarlo explícitamente, como se muestra en el ejemplo siguiente.
Ordenación en orden descendente
SELECT *
FROM sales.products
ORDER BY price DESC;
Esta consulta recupera los productos ordenados por precio en orden descendente.
Ordenar por varias columnas
SELECT *
FROM sales.customers
ORDER BY country, city;
Esta consulta recupera todas las columnas (*) de la sales.customers tabla y, a continuación, ordena las filas resultantes.
La ordenación se realiza en dos niveles: - En primer lugar, los resultados se ordenan alfabéticamente por la columna de país. Esto significa que todos los clientes de "Argentina" se agruparán, seguidos de los clientes de "Austria", etc.
- Los resultados se ordenan alfabéticamente según la columna de ciudad dentro de cada grupo de clientes del mismo país. Por lo tanto, si tiene varios clientes de "Alemania", se ordenarán por sus nombres de ciudad (por ejemplo, "Aachen" antes de "Berlín").
En esencia, esta consulta proporciona una lista de clientes organizada principalmente por country y, a continuación, dentro de cada country, organizada por city. Esto facilita la búsqueda de clientes de una región específica.
Además, combinar este enfoque con los modificadores de ASC o DESC permite un control total sobre la dirección de ordenación de cada columna.
SELECT *
FROM sales.customers
ORDER BY country ASC, city DESC;
Esta consulta ordenaría los países en orden ascendente al organizar ciudades dentro de cada país en orden descendente.