SQL – ORDENAR POR

La instrucción ORDER BY en SQL se utiliza para ordenar los datos obtenidos de forma ascendente o descendente según una o más columnas. 

  • Por defecto, ORDER BY ordena los datos en orden ascendente.
  • Podemos usar la palabra clave DESC para ordenar los datos en orden descendente y la palabra clave ASC para ordenarlos en orden ascendente.

Ordenar según una columna:

 Para ordenar en orden ascendente o descendente podemos utilizar las palabras clave ASC o DESC respectivamente. 

Sintaxis:

SELECT * FROM table_name ORDER BY column_name ASC|DESC
//Where 
table_name: name of the table.
column_name: name of the column according to which the data is needed to be arranged.
ASC: to sort the data in ascending order.
DESC: to sort the data in descending order.
| : use either ASC or DESC to sort in ascending or descending order//

Ordenar según varias columnas: 

Para ordenar en orden ascendente o descendente podemos utilizar las palabras clave ASC o DESC respectivamente. Para ordenar según varias columnas, separe los nombres de las columnas con el operador (,). 

Sintaxis: 

SELECT * FROM table_name ORDER BY column1 ASC|DESC , column2 ASC|DESC

Screenshot from 2016-12-19 12-53-29

Ahora considere la tabla de base de datos anterior y encuentre los resultados de diferentes consultas.

Ordenar según una sola columna

En este ejemplo, buscaremos todos los datos de la tabla Student y ordenaremos el resultado en orden descendente según la columna ROLL_NO. 

Consulta:

SELECT * FROM Student ORDER BY ROLL_NO DESC;

Producción: 

ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO Años
8 NIRAJ ALIPUR XXXXXXXXXX 19
7 ROHIT BALURGHAT XXXXXXXXXX 18
6 DHANRAJ BARABAJAR XXXXXXXXXX 20
5 SAPTARHI CALCUTA XXXXXXXXXX 19
4 PROFUNDO RAMNAGAR XXXXXXXXXX 18
3 RIYANKA SILIGURI XXXXXXXXXX 20
2 PRATIK BIHAR XXXXXXXXXX 19
1 DURO DELHI XXXXXXXXXX 18

En el ejemplo anterior, si queremos ordenar en orden ascendente, debemos usar ASC en lugar de DESC.

Ordenar según varias columnas :

En este ejemplo, buscaremos todos los datos de la tabla Student y luego ordenaremos el resultado en orden ascendente primero de acuerdo con la columna Age. y luego en orden descendente según la columna ROLL_NO. 
Consulta:

SELECT * FROM Student ORDER BY Age ASC , ROLL_NO DESC;

Producción: 

ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO Años
7 ROHIT BALURGHAT XXXXXXXXXX 18
4 PROFUNDO RAMNAGAR XXXXXXXXXX 18
1 DURO DELHI XXXXXXXXXX 18
8 NIRAJ ALIPUR XXXXXXXXXX 19
5 SAPTARHI CALCUTA XXXXXXXXXX 19
2 PRATIK BIHAR XXXXXXXXXX 19
6 DHANRAJ BARABAJAR XXXXXXXXXX 20
3 RIYANKA SILIGURI XXXXXXXXXX 20

En el resultado anterior, podemos ver que primero el resultado se ordena en orden ascendente según la edad. Hay varias filas de tener la misma edad. Ahora, al ordenar más este conjunto de resultados de acuerdo con ROLL_NO, se ordenarán las filas con la misma Edad de acuerdo con ROLL_NO en orden descendente.

Nota:

ASC es el valor predeterminado para la cláusula ORDER BY. Por lo tanto, si no especificamos nada después del nombre de la columna en la cláusula ORDER BY, la salida se ordenará en orden ascendente de forma predeterminada. 

Tome otro ejemplo de la siguiente consulta que dará un resultado similar al anterior: 
Consulta:

SELECT * FROM Student ORDER BY Age , ROLL_NO DESC;

Producción: 

ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO Años
7 ROHIT BALURGHAT XXXXXXXXXX 18
4 PROFUNDO RAMNAGAR XXXXXXXXXX 18
1 DURO DELHI XXXXXXXXXX 18
8 NIRAJ ALIPUR XXXXXXXXXX 19
5 SAPTARHI CALCUTA XXXXXXXXXX 19
2 PRATIK BIHAR XXXXXXXXXX 19
6 DHANRAJ BARABAJAR XXXXXXXXXX 20
3 RIYANKA SILIGURI XXXXXXXXXX 20

esas columnas

Order by Column_Number asc/desc
CREATE TABLE studentinfo
( Roll_no INT,
NAME VARCHAR(25),
Address VARCHAR(20),
CONTACTNO BIGINT NOT NULL,
Age INT ); 
INSERT INTO studentinfo
VALUES (7,'ROHIT','GAZIABAD',9193458625,18),
(4,'DEEP','RAMNAGAR',9193458546,18),
(1,'HARSH','DELHI',9193342625,18),
(8,'NIRAJ','ALIPUR',9193678625,19),
(5,'SAPTARHI','KOLKATA',9193789625,19),
(2,'PRATIK','BIHAR',9193457825,19),
(6,'DHANRAJ','BARABAJAR',9193358625,20),
(3,'RIYANKA','SILIGURI',9193218625,20);
SELECT Name, Address
FROM studentinfo
ORDER BY 1

Producción:

 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *