Introducción a la cláusula ORDER BY en SQL

La cláusula ORDER BY en SQL nos ayuda a clasificar nuestros datos en orden ascendente o descendente, según las columnas de nuestras tablas. ORDER BY es la palabra clave utilizada en nuestra consulta para ayudarnos a clasificar los datos. Por defecto, algunas bases de datos clasifican los resultados devueltos por la consulta en orden ascendente. Para ordenar los datos presentes en los registros en orden descendente, utilizamos la palabra clave DESC en nuestra consulta. También tenemos la palabra clave ASC para clasificar los datos en orden ascendente, aunque en su mayoría no los usamos debido a la configuración predeterminada de la base de datos.

Parámetros de la cláusula ORDER BY en SQL

  • nombre_columna: indica el nombre de la columna que deseamos recuperar en función de la cual se organizarán los datos.
  • nombre_tabla: Esto indica el nombre de la tabla de la que se obtendrán los registros. Necesitamos tener al menos un nombre de tabla en este parámetro.
  • Condición WHERE: este es un parámetro opcional. La cláusula WHERE contiene las condiciones que debemos cumplir para que los datos sean elegidos.
  • ASC : esta es la palabra clave utilizada para ordenar los datos de la columna en orden ascendente. Si no se menciona ninguna palabra clave, los datos se ordenan en orden ascendente de forma predeterminada.
  • DESC: esta es la palabra clave utilizada para ordenar los datos de la columna en orden descendente.
  • |: Esto es solo un indicador de "OR", ya que debemos utilizar ASC o DESC en nuestra consulta en consecuencia para los resultados.

ORDENAR por cláusula

La sintaxis de ORDER BY es:

SELECT column_name(s)
FROM table_name(s)
(WHERE condition) (ORDER BY column1, column2, .. columnN) (ASC | DESC);

Sintaxis para ordenar datos de acuerdo con una sola columna

Para ordenar los datos de la tabla en función de una sola columna en orden ascendente o descendente, podemos utilizar las palabras clave ASC o DESC. En nuestro ejemplo, clasificaremos los datos en orden ascendente utilizando la palabra clave ASC.

Sintaxis

SELECT * FROM table_name ORDER BY column_name ASC

La sintaxis para ordenar los datos según varias columnas.

Para ordenar los datos de la tabla en función de varias columnas en orden ascendente o descendente, podemos utilizar las palabras clave ASC o DESC. Para mencionar las varias columnas según las cuales clasificaremos los datos, necesitamos mencionar los nombres de las columnas separadas por el operador de coma (, ). En nuestro ejemplo, clasificaremos los datos en orden ascendente utilizando la palabra clave ASC.

Sintaxis

SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC

Ejemplos de cláusula ORDER BY

Veamos varios ejemplos para comprender mejor la cláusula ORDER BY.

1. Ejemplo para ordenar los resultados en orden ascendente

Para clasificar los resultados en orden ascendente, podemos usar la palabra clave ASC. Si no se ha proporcionado una palabra clave, ya sea ASC o DESC, el orden de clasificación predeterminado es el orden ascendente. Comprendamos esto con la ayuda de un ejemplo. Tenemos una mesa de empleados.

ID de empleadoEmployeeLastNameEmpleadoPrimer NombreIdentificación de correo
001 Donald Jo
002 Herrero Jamie
003 Jones Amy
004 Reynolds Andy
005 Thomas Salida
006 marrón Dan

Cuando intentamos organizar los resultados en orden ascendente del apellido del Empleado, podemos usar la siguiente declaración, y el resultado que sigue se muestra en la tabla siguiente.

SELECT *
FROM Employee
ORDER BY EmployeeLastName;

Resultado

ID de empleadoEmployeeLastNameEmpleadoPrimer NombreIdentificación de correo
006 marrón Dan
001 Donald Jo
003 Jones Amy
004 Reynolds Andy
002 Herrero Jamie
005 Thomas Salida

Este ejemplo devuelve todos los registros de la tabla Employee ordenados en orden ascendente de acuerdo con el campo EmployeeLastName. También podemos usar la palabra clave ASC de la siguiente manera, para obtener el mismo resultado.

SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;

2. Ejemplo para ordenar los resultados en orden descendente

Usamos la palabra clave DESC cuando queremos ordenar nuestros datos en orden descendente, en nuestra cláusula ORDER BY. Comprendamos esto con la ayuda de un ejemplo. Tenemos la misma tabla Empleado que contiene los siguientes datos.

ID de empleadoEmployeeLastNameEmpleadoPrimer NombreIdentificación de correo
001 Donald Jo
002 Herrero Jamie
003 Jones Amy
004 Reynolds Andy
005 Thomas Salida
006 marrón Dan

Solo necesitamos empleados cuyo Id. De empleado sea mayor que 2 y necesitamos nuestros datos ordenados en orden descendente. Utilizamos la siguiente instrucción SQL para el mismo y obtenemos la tabla de conjunto de resultados con solo 4 registros.

SELECT *
FROM Employee
WHERE EmployeeID > 002
ORDER BY EmployeeID DESC;

Resultado:

ID de empleado EmployeeLastName EmpleadoPrimer Nombre Identificación de correo
006 marrón Dan
005 Thomas Salida
004 Reynolds Andy
003 Jones Amy

3. Ejemplo para ordenar los resultados por su posición relativa

También podemos organizar nuestros datos por la posición relativa de las columnas, donde 1 representa el primer campo, 2 representa el segundo campo, 3 representa el tercer campo y así sucesivamente. Tratemos de organizar los datos en nuestra tabla de empleados de acuerdo con las posiciones relativas.

ID de empleadoEmployeeLastNameEmpleadoPrimer Nombrecorreo electrónico
001 Donald Jo
002 Herrero Jamie
003 Jones Amy
004 Reynolds Andy
005 Thomas Salida
006 marrón Dan

Al usar la instrucción SQL de la siguiente manera, podemos organizar los datos en orden descendente de EmployeeID. También hemos afirmado que solo necesitamos dos columnas de la tabla, a saber, EmployeeID y EmployeeLastName, junto con el uso de la cláusula WHERE para mencionar que no queremos ninguna fila que contenga el EmployeeID 003.

SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;

Resultado

ID de empleadoEmployeeLastName
006 marrón
005 Thomas
004 Reynolds
002 Herrero
001 Donald

Dado que la columna en la posición 1 es Id. De empleado, el conjunto de resultados se ordena según Id. De empleado.

Conclusión

En SQL, la instrucción SELECT no devuelve datos en ningún orden específico. Para garantizar un pedido en particular, hacemos uso de la cláusula ORDER BY. ORDER BY ordena en base a una o más columnas. Los registros se devuelven en orden ascendente o descendente. Si no se han proporcionado las palabras clave ASC o DESC, los resultados se clasificarán en orden ascendente.

Artículo recomendado

Esta ha sido una guía para la cláusula ORDER BY en SQL. Aquí discutimos los parámetros y diferentes ejemplos de la cláusula ORDER BY junto con la sintaxis. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Ventajas de NoSQL
  2. Herramientas de administración de SQL
  3. Funciones de cadena T-SQL
  4. Tipos de datos PostgreSQL
  5. Diferentes tipos de datos SQL con ejemplos