sql >> Base de Datos >  >> RDS >> Database

ORDEN SQL POR

ORDEN SQL POR

El ORDEN SQL POR La cláusula se usa para ordenar los datos almacenados en tablas en la base de datos . La clasificación se puede hacer de forma ascendente, descendente o basada en varias columnas de la tabla .

Generalmente, el orden de clasificación predeterminado es ascendente.

SELECT expressions
 FROM tables
 WHERE conditions
 ORDER BY expression ASC | DESC; 

La siguiente es la sintaxis de una cláusula ORDER BY general:

Ejemplo:

Consideremos los siguientes clientes mesa.

ID NOMBRE EDAD DIRECCIÓN SALARIO
1 Himani gupta 21 Modinagar 22000
2 Shiva tiwari 22 Bhopal 21000
3 Ajeet bhargav 45 Meerut 65000
4 Ritesh yadav 36 Azamgarh 26000
5 Balwant Singh 45 Varanasi 36000
6 Mahesh Sharma 26 Mathura 22000
 SELECT * 
 FROM Customers
 ORDER BY NAME, SALARY; 

La consulta anterior ordenará todos los registros en orden ascendente según las columnas NOMBRE y SALARIO.

Salida:

ID NOMBRE EDAD DIRECCIÓN SALARIO
3 Ajeet bhargav 45 Meerut 65000
5 Balwant Singh 45 Varanasi 36000
1 Himani gupta 21 Modinagar 22000
6 Mahesh Sharma 26 Mathura 22000
4 Ritesh yadav 36 Azamgarh 26000
2 Shiva tiwari 22 Bhopal 21000
SELECT *
 FROM CUSTOMERS
 ORDER BY NAME DESC; 

La consulta anterior ordenará todos los registros de la tabla de forma descendente según la columna NOMBRE.

Salida:

ID NOMBRE EDAD DIRECCIÓN SALARIO
2 Shiva tiwari 22 Bhopal 21000
4 Ritesh yadav 36 Azamgarh 26000
6 Mahesh Sharma 26 Mathura 22000
1 Himani gupta 21 Modinagar 22000
5 Balwant Singh 45 Varanasi 36000
3 Ajeet bhargav 45 Meerut 65000

Hay varios temas bajo la cláusula SQL ORDER BY. A saber, son:

  • ORDEN SQL POR ASC – Ordena los datos en forma ascendente
  • ORDEN SQL POR DESC – Ordena los datos en forma descendente
  • ORDEN SQL AL AZAR – Ordena datos aleatorios
  • ORDEN SQL POR LÍMITE – Selecciona datos limitados de la base de datos
  • ORDEN SQL POR Múltiples Columnas – Ordena los datos en función de varias columnas.

Analicemos cada uno de ellos en detalle.

ORDEN SQL POR ASC

ORDEN SQL POR ASC La cláusula ordena los datos en orden ascendente en función de algunas columnas. Generalmente, el orden de clasificación predeterminado es ascendente.

Ejemplo:

Consideremos los siguientes clientes mesa.

ID NOMBRE EDAD DIRECCIÓN SALARIO
1 Himani gupta 21 Modinagar 22000
2 Shiva tiwari 22 Bhopal 21000
3 Ajeet bhargav 45 Meerut 65000
4 Ritesh yadav 36 Azamgarh 26000
5 Balwant Singh 45 Varanasi 36000
6 Mahesh Sharma 26 Mathura 22000
SELECT * 
 FROM Customers
 ORDER BY NAME, SALARY; 

La consulta anterior ordenará todos los registros en orden ascendente según las columnas NOMBRE y SALARIO.

Salida:

ID NOMBRE EDAD DIRECCIÓN SALARIO
3 Ajeet bhargav 45 Meerut 65000
5 Balwant Singh 45 Varanasi 36000
1 Himani gupta 21 Modinagar 22000
6 Mahesh Sharma 26 Mathura 22000
4 Ritesh yadav 36 Azamgarh 26000
2 Shiva tiwari 22 Bhopal 21000

ORDEN SQL POR DESC

La cláusula SQL ORDER BY DESC ordena los datos en orden descendente según algunas columnas.

Ejemplo:

Consideremos los siguientes clientes mesa.

ID NOMBRE EDAD DIRECCIÓN SALARIO
1 Himani gupta 21 Modinagar 22000
2 Shiva tiwari 22 Bhopal 21000
3 Ajeet bhargav 45 Meerut 65000
4 Ritesh yadav 36 Azamgarh 26000
5 Balwant Singh 45 Varanasi 36000
6 Mahesh Sharma 26 Mathura 22000
SELECT *
 FROM CUSTOMERS
 ORDER BY NAME DESC; 

La consulta anterior ordenará todos los registros de la tabla de forma descendente según la columna NOMBRE.

Salida:

ID NOMBRE EDAD DIRECCIÓN SALARIO
2 Shiva tiwari 22 Bhopal 21000
4 Ritesh yadav 36 Azamgarh 26000
6 Mahesh Sharma 26 Mathura 22000
1 Himani gupta 21 Modinagar 22000
5 Balwant Singh 45 Varanasi 36000
3 Ajeet bhargav 45 Meerut 65000

ORDEN SQL POR LÍMITE

La cláusula SQL ORDER BY LIMIT ayuda a recuperar un número específico de registros de la tabla de la base de datos. Generalmente se usa en situaciones donde hay una gran cantidad de tuplas que satisfacen la condición dada. Establece un límite superior para la cantidad de registros que se recuperan.

Para usar la cláusula LIMIT en SQL, uno tiene que usar ROWNUM cláusula con él.

Nota:Cabe señalar que la cláusula LIMIT no es compatible con todas las versiones de SQL.

Esta cláusula se puede especificar mediante SQL 2008 OFFSET o cláusulas FETCH FIRST .

Ejemplo:

Consideremos el siguiente Estudiante mesa.

RollNo Nombre Grado
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Ana 10
12007 Yusuf 7
12008 Álex 5
SELECT *
 FROM Student
 LIMIT 5; 

La consulta anterior solo devolverá los 5 mejores estudiantes de la tabla de estudiantes.

Salida:

12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7

La cláusula LIMIT también se puede utilizar con la cláusula ORDER BY.

SELECT *
 FROM Student
 ORDER BY Grade DESC
 LIMIT 3; 

La consulta anterior devolverá los 3 mejores estudiantes con las calificaciones más altas en orden descendente.

Salida:

12006 Ana 10
12001 Aditya 9
12004 Robin 9

El operador LIMIT es especialmente útil en situaciones en las que es necesario recuperar datos limitados sin usar declaraciones condicionales.

El operador LIMIT también se puede utilizar con el operador OFFSET.

LIMITE con OFFSET

Cabe señalar que el valor OFFSET debe ser mayor que cero , y no puede ser negativo. Si se proporciona un valor negativo, devolverá un error.

Ejemplo:

Consideremos la misma tabla Student.

RollNo Nombre Grado
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Ana 10
12007 Yusuf 7
12008 Álex 5
SELECT *
FROM Student
LIMIT 5 OFFSET 2
ORDER BY RollNo;

Esta consulta devolverá los 5 registros principales de la tabla de Estudiantes, excluyendo las 2 entradas principales.

Salida:

RollNo Nombre Grado
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Ana 10
12007 Yusuf 7

LIMITAR TODO

Hay otra cláusula similar a LIMIT conocida como LIMIT ALL . La cláusula LIMIT ALL no pondrá ningún límite y devolverá todas las entradas de la tabla.

Ejemplo:

Consideremos nuevamente la misma tabla Student.

RollNo Nombre Grado
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Ana 10
12007 Yusuf 7
12008 Álex 5

Consulta:

SELECT *
FROM Student
LIMIT ALL;
RollNo Nombre Grado
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Ana 10
12007 Yusuf 7
12008 Álex 5

ORDEN SQL POR Múltiples Columnas

El ORDEN SQL POR Múltiples Columnas devolverá las entradas de datos en la columna clasificándolas usando múltiples columnas que se han dado en la consulta.

Ordenará los datos según el orden de los nombres de las columnas que se han proporcionado después de la cláusula ORDER BY. El nombre de las columnas debe agregarse en el orden correspondiente en el que el usuario desea que se realice la clasificación.

Se pueden agregar varios nombres de columna separándolos con una coma (,). Además, las palabras clave ASC o DESC se pueden usar para especificar el orden de clasificación.

Ejemplo:

Consideremos el siguiente Empleado tabla que tiene cuatro columnas, a saber, id, nombre, apellido y salario.

id nombre apellido salario
1 Lisa Ulmán 3000
2 Ada Muller 2400
3 Tomás Verde 2400
4 Miguel Muller 3000
5 María Verde 2400

Consulta:

SELECT id,  
 first_name,
 last_name,
 salary
 FROM employee
 ORDER BY salary DESC, last_name; 

Salida:

id nombre apellido salario
4 Miguel M uller 3000
1 Lisa T soy 3000
3 Tomás G reen 2400
5 María G reen 2400
2 Ada M uller 2400

Por lo tanto, primero, la salida se ha ordenado por salario en orden descendente y luego por apellido en orden ascendente. Debe tenerse en cuenta que si no se menciona ASC o DESC, por defecto ordenará ambas columnas en orden ascendente.

Conclusión

Por lo tanto, arriba se encuentran algunas de las cláusulas ORDER BY más importantes y de uso frecuente que utilizan los desarrolladores a diario para realizar operaciones específicas en la base de datos y recuperar datos. Estas cláusulas se pueden usar individualmente o también se pueden usar juntas, de forma combinada, para realizar operaciones de base de datos.