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.