real time web analytics

ORDENAR POR en SQL

“Este tutorial lo ayudará a comprender la cláusula ORDER BY y cómo usarla en sus consultas basadas en ANSI SQL.

NOTA: Este tutorial usa ANSI SQL o SQL estándar. Sin embargo, muchos motores de bases de datos importan la cláusula ORDER BY. Por lo tanto, puede usar este tutorial para implementar ORDER BY en MySQL, SQL Server, PostgreSQL, etc.”

SQL Server ORDENAR POR

La cláusula ORDER BY en SQL le permite ordenar el resultado de una consulta según una condición determinada en orden ascendente o descendente.

En la mayoría de los casos, encontrará la cláusula ORDER BY utilizada en las declaraciones SELECT, pero se puede incluir en otras consultas.

A continuación se muestra la sintaxis de la cláusula ORDER BY en SQL.

ORDENAR POR expresión
[{ ASC | DESC }]
[{ NULLS FIRST | NULLS LAST }]
[, ]

La cláusula ORDER BY le permite especificar una columna o expresión utilizada como criterio de clasificación.

El ASC | Los parámetros DESC definen el orden de clasificación, donde ASC representa el orden ascendente y DESC indica el orden descendente. La cláusula ORDER BY ordenará por defecto los valores en orden ascendente.

Los NULLS PRIMERO | Las cláusulas NULLS LAST le indican a la cláusula ORDER BY si debe incluir valores NULL antes o después de valores no nulos.

Ejemplo de uso

Exploremos algunos ejemplos que demuestran el uso de la cláusula ORDER BY.

Ejemplo 1: uso básico

El siguiente ejemplo muestra cómo usar la cláusula ORDER BY con una instrucción SELECT.

SELECCIONE
col1,
col2
DE (
SELECCIONE
1 COMO col1,
CIERTO COMO col2
UNIÓN TODOS
SELECCIONE
10,
CIERTO
UNIÓN TODOS
SELECCIONE
NULO,
FALSO)
ORDENAR POR
col1;

En este caso, la consulta contiene dos columnas, cada una con un valor numérico, booleano o NULL. Luego usamos la cláusula ORDER BY para ordenar los valores en orden ascendente.

La salida resultante es como se muestra:

col1 col2
NULO FALSO
1 CIERTO
10 CIERTO

Para ordenar los valores en orden descendente, podemos agregar la palabra clave DESC:

SELECCIONE
col1,
col2
DE (
SELECCIONE
1 COMO col1,
CIERTO COMO col2
UNIÓN TODOS
SELECCIONE
10,
CIERTO
UNIÓN TODOS
SELECCIONE
NULO,
FALSO)
ORDENAR POR
col1 DESC;

En este caso, la consulta debería devolver lo siguiente:

col1 col2
10 CIERTO
1 CIERTO
NULO FALSO

Usando la cláusula NULLS FIRST, también puede clasificar por orden descendente y permitir que los valores NULL se incluyan primero.

Ejemplo:

SELECCIONE
col1,
col2
DE (
SELECCIONE
1 COMO col1,
CIERTO COMO col2
UNIÓN TODOS
SELECCIONE
10,
CIERTO
UNIÓN TODOS
SELECCIONE
NULO,
FALSO)
ORDENAR POR
col1 DESC NULOS PRIMERO;

Salida resultante:

col1 col2
NULO FALSO
10 CIERTO
1 CIERTO

En este caso, el valor NULL se considera primero, luego los demás valores se ordenan en orden descendente.

Ejemplo 2: uso de la cláusula ORDER BY con tabla de base de datos

El siguiente ejemplo muestra filas en la siguiente tabla usando la cláusula ORDER BY.

Para ordenar las filas según el fabricante, podemos ejecutar la consulta de la siguiente manera:

SELECCIONE * DE productos ORDENAR POR fabricante;

De forma predeterminada, la consulta ordenará los valores en orden ascendente como se muestra:

Para ordenar los valores en orden descendente, ejecute lo siguiente:

SELECCIONE * DE productos ORDENAR POR fabricante DESC;

Producción:

Conclusión

En esta publicación, discutimos cómo usar la cláusula ORDER BY en SQL estándar, lo que le permite ordenar las filas en un resultado en orden ascendente o descendente.

Leave a Comment