- Siempre que queramos ordenar los registros según las columnas almacenadas en las tablas de la base de datos SQL, consideramos usar la cláusula ORDER BY en SQL.
- La cláusula ORDER BY en SQL nos ayuda a ordenar los registros según la columna específica de una tabla. Esto significa que inicialmente se ordenarán todos los valores almacenados en la columna sobre la que estamos aplicando la cláusula ORDER BY. Luego, los valores de las columnas correspondientes se mostrarán en la misma secuencia en la que los valores que obtuvimos en el paso anterior.
- Usando la cláusula ORDER BY, podemos ordenar los registros en orden ascendente o descendente según nuestros requisitos. Los registros se ordenarán en orden ascendente siempre que se utilice la palabra clave ASC con la cláusula ORDER by. La palabra clave DESC ordenará los registros en orden descendente . Si no se especifica ninguna palabra clave después de la columna según la cual tenemos que ordenar los registros, entonces, en ese caso, la clasificación se realizará de forma predeterminada en orden ascendente.
Antes de escribir las consultas para ordenar los registros, comprendamos la sintaxis.
Sintaxis para ordenar los registros en orden descendente:
SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC;
Exploremos más sobre este tema con la ayuda de ejemplos. Usaremos la base de datos MySQL para escribir las consultas en ejemplos.
Considere que tenemos una tabla de clientes con los siguientes registros:
IDENTIFICACIÓN | NOMBRE | EDAD | DIRECCIÓN | SALARIO |
---|---|---|---|---|
1 | Himani Gupta | 21 | Modi Nagar | 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 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
8 | Neeru Sharma | 29 | Pune | 40000 |
9 | Akash Yadav | 32 | Bombay | 43500 |
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
Ejemplo 1:
Escriba una consulta para ordenar los registros en orden descendente de los nombres de los clientes almacenados en la tabla de clientes.
Consulta:
mysql> SELECT *FROM customers ORDER BY Name DESC;
Aquí, en una consulta SELECT, se aplica una cláusula ORDER BY en la columna 'Nombre' para ordenar los registros. La palabra clave DESC ordenará los registros en orden descendente.
Obtendrá el siguiente resultado:
IDENTIFICACIÓN | NOMBRE | EDAD | DIRECCIÓN | SALARIO |
---|---|---|---|---|
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
8 | Neeru Sharma | 29 | Pune | 40000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
1 | Himani Gupta | 21 | Modi Nagar | 22000 |
5 | Balwant Singh | 45 | Varanasi | 36000 |
3 | Ajeet Bhargav | 45 | meerut | 65000 |
9 | Akash Yadav | 32 | Bombay | 43500 |
Todos los registros presentes en la tabla de clientes se muestran en orden descendente del nombre del cliente.
Ejemplo 2:
Escriba una consulta para ordenar los registros en orden descendente de las direcciones almacenadas en la tabla de clientes.
Consulta:
mysql> SELECT *FROM customers ORDER BY Address DESC;
Aquí, en una consulta SELECT, se aplica una cláusula ORDER BY a la columna 'Dirección' para ordenar los registros. La palabra clave DESC ordenará los registros en orden descendente.
Obtendrá el siguiente resultado:
conversión de int a cadena
IDENTIFICACIÓN | NOMBRE | EDAD | DIRECCIÓN | SALARIO |
---|---|---|---|---|
5 | Balwant Singh | 45 | Varanasi | 36000 |
8 | Neeru Sharma | 29 | Pune | 40000 |
9 | Akash Yadav | 32 | Bombay | 43500 |
1 | Himani Gupta | 21 | Modi Nagar | 22000 |
3 | Ajeet Bhargav | 45 | meerut | 65000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
Todos los registros presentes en la tabla de clientes se muestran en orden descendente de la dirección del cliente.
Ejemplo 3:
Escriba una consulta para ordenar los registros en orden descendente del salario del cliente almacenado en la tabla de clientes.
Consulta:
mysql> SELECT *FROM customers ORDER BY Salary DESC;
Aquí, en una consulta SELECT, se aplica una cláusula ORDER BY en la columna 'Salario' para ordenar los registros. La palabra clave DESC ordenará los registros en orden descendente.
Obtendrá el siguiente resultado:
IDENTIFICACIÓN | Nombre | Edad | DIRECCIÓN | Salario |
---|---|---|---|---|
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
3 | Ajeet Bhargav | 45 | meerut | 65000 |
9 | Akash Yadav | 32 | Bombay | 43500 |
8 | Neeru Sharma | 29 | Pune | 40000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
5 | Balwant Singh | 45 | Varanasi | 36000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
1 | Himani Gupta | 21 | Modi Nagar | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
Todos los registros presentes en la tabla de clientes se muestran en orden descendente del salario del cliente.
Ejemplo 4:
Escriba una consulta para ordenar los registros en orden descendente de la edad del cliente almacenada en la tabla de clientes.
Consulta:
mysql> SELECT *FROM customers ORDER BY Age DESC;
Aquí, en una consulta SELECT, se aplica una cláusula ORDER BY en la columna 'Edad' para ordenar los registros. La palabra clave DESC ordenará los registros en orden descendente.
Obtendrá el siguiente resultado:
IDENTIFICACIÓN | Nombre | Edad | DIRECCIÓN | Salario |
---|---|---|---|---|
3 | Ajeet Bhargav | 45 | meerut | 65000 |
5 | Balwant Singh | 45 | Varanasi | 36000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
9 | Akash Yadav | 32 | Bombay | 43500 |
8 | Neeru Sharma | 29 | Pune | 40000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
1 | Himani Gupta | 21 | Modi Nagar | 22000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
Todos los registros presentes en la tabla de clientes se muestran en orden descendente de la edad del cliente.
Considere que tenemos otra tabla llamada agentes con los siguientes registros:
AYUDA | Nombre | Área de trabajo | Porcentaje de beneficio | Número de contacto | Salario |
---|---|---|---|---|---|
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
2 | sakshi kumari | Chennai | 5 | 8190567342 | 25000 |
3 | Prachi Desai | Bombay | 2 | 9056123432 | 60000 |
4 | Más | Pune | 3 | 8894236789 | 35500 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
6 | Rohini Kulkarni | Ambalá | 8 | 7890945612 | 25670 |
7 | Shweta dijo | Chandigarh | 6 | 8898786453 | 31670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
9 | Anushka Tripathi | en tus dedos | 9 | 8909124326 | 38000 |
10 | Devika Sharma | Ir a | 7 | 7864523145 | 44050 |
Ejemplo 1:
Escriba una consulta para ordenar los registros en orden descendente de los nombres de los agentes almacenados en la tabla de agentes.
Consulta:
mysql> SELECT *FROM agents ORDER BY Name DESC;
Aquí, en una consulta SELECT, se aplica una cláusula ORDER BY en la columna 'Nombre' para ordenar los registros. La palabra clave DESC ordenará los registros en orden descendente.
Obtendrá el siguiente resultado:
AYUDA | Nombre | Área de trabajo | Porcentaje de beneficio | Número de contacto | Salario |
---|---|---|---|---|---|
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
7 | Shweta dijo | Chandigarh | 6 | 8898786453 | 31670 |
4 | Más | Pune | 3 | 8894236789 | 35500 |
2 | sakshi kumari | Chennai | 5 | 8190567342 | 25000 |
6 | Rohini Kulkarni | Ambalá | 8 | 7890945612 | 25670 |
3 | Prachi Desai | Bombay | 2 | 9056123432 | 60000 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
10 | Devika Sharma | Ir a | 7 | 7864523145 | 44050 |
9 | Anushka Tripathi | en tus dedos | 9 | 8909124326 | 38000 |
Todos los registros presentes en la tabla de agentes se muestran en orden descendente del nombre del agente.
Ejemplo 2:
Escriba una consulta para ordenar los registros en orden descendente del salario del agente almacenado en la tabla de agentes.
Consulta:
mysql> SELECT *FROM agents ORDER BY Salary DESC;
Aquí, en una consulta SELECT, se aplica una cláusula ORDER BY en la columna 'Salario' para ordenar los registros. La palabra clave DESC ordenará los registros en orden descendente.
Obtendrá el siguiente resultado:
AYUDA | Nombre | Área de trabajo | Porcentaje de beneficio | Número de contacto | Salario |
---|---|---|---|---|---|
3 | Prachi Desai | Bombay | 2 | 9056123432 | 60000 |
10 | Devika Sharma | Ir a | 7 | 7864523145 | 44050 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
9 | Anushka Tripathi | en tus dedos | 9 | 8909124326 | 38000 |
4 | Más | Pune | 3 | 8894236789 | 35500 |
7 | Shweta dijo | Chandigarh | 6 | 8898786453 | 31670 |
6 | Rohini Kulkarni | Ambalá | 8 | 7890945612 | 25670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
2 | sakshi kumari | Chennai | 5 | 8190567342 | 25000 |
Todos los registros presentes en la tabla de agentes se muestran en orden descendente del salario del agente.
Ejemplo 3:
Escriba una consulta para ordenar los registros en orden descendente del área de trabajo del agente almacenados en la tabla de agentes.
Consulta:
mysql> SELECT *FROM agents ORDER BY WorkArea DESC;
Aquí, en una consulta SELECT, se aplica una cláusula ORDER BY en la columna 'Área de trabajo' para ordenar los registros. La palabra clave DESC ordenará los registros en orden descendente.
Obtendrá el siguiente resultado:
AYUDA | Nombre | Área de trabajo | Porcentaje de beneficio | Número de contacto | Salario |
---|---|---|---|---|---|
9 | Anushka Tripathi | en tus dedos | 9 | 8909124326 | 38000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
4 | Más | Pune | 3 | 8894236789 | 35500 |
3 | Prachi Desai | Bombay | 2 | 9056123432 | 60000 |
10 | Devika Sharma | Ir a | 7 | 7864523145 | 44050 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
2 | sakshi kumari | Chennai | 5 | 8190567342 | 25000 |
7 | Shweta dijo | Chandigarh | 6 | 8898786453 | 31670 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
6 | Rohini Kulkarni | Ambalá | 8 | 7890945612 | 25670 |
Todos los registros presentes en la tabla de agentes se muestran en orden descendente del área de trabajo del agente.
Ejemplo 4:
Escriba una consulta para ordenar los registros en orden descendente del porcentaje de ganancia del agente almacenado en la tabla de agentes.
Consulta:
mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;
Aquí, en una consulta SELECT, se aplica una cláusula ORDER BY en la columna 'Profit_Percent' para ordenar los registros. La palabra clave DESC ordenará los registros en orden descendente.
Obtendrá el siguiente resultado:
AYUDA | Nombre | Área de trabajo | Porcentaje de beneficio | Número de contacto | Salario |
---|---|---|---|---|---|
9 | Anushka Tripathi | en tus dedos | 9 | 8909124326 | 38000 |
6 | Rohini Kulkarni | Ambalá | 8 | 7890945612 | 25670 |
10 | Devika Sharma | Ir a | 7 | 7864523145 | 44050 |
7 | Shweta dijo | Chandigarh | 6 | 8898786453 | 31670 |
2 | sakshi kumari | Chennai | 5 | 8190567342 | 25000 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
4 | Más | Pune | 3 | 8894236789 | 35500 |
3 | Prachi Desai | Bombay | 2 | 9056123432 | 60000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
Todos los registros presentes en la tabla de agentes se muestran en orden descendente del porcentaje de ganancia del agente.