Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
SQL: cláusula ORDER BY
Este tutorial de SQL explica cómo usar SQL Cláusula ORDER BY Con sintaxis y ejemplos.
describir
La cláusula SQL ORDER BY se usa para ordenar registros en el conjunto de resultados de una instrucción SELECT.
sintaxis
La sintaxis de la cláusula ORDER BY en SQL es:
SELECT expressions FROM tables [WHERE conditions] ORDER BY expression [ ASC | DESC ];
parámetro o parámetro
Expresión La columna o cálculo que desea recuperar. tabla La tabla de la que desea recuperar registros. Debe aparecer al menos una tabla en la cláusula FROM. La condición WHERE es opcional. Seleccione las condiciones que debe cumplir el registro. ASC es opcional. ASC ordena el conjunto de resultados en orden ascendente de expresiones. Este es el comportamiento predeterminado si el proveedor no es ningún modificador. DESC opcional. DESC ordena el conjunto de resultados en orden descendente de expresiones.
notas
- Si no se proporciona ningún modificador ASC o DESC en la cláusula ORDER BY, los resultados se ordenan en orden ascendente de la expresión.Esto es equivalente a
ORDER BY expression ASC
.
Ejemplo de DDL/DML
Si desea seguir este tutorial, obtenga DDL para crear las tablas y DML para completar los datos. ¡Entonces pruebe los ejemplos en su propia base de datos!
Ejemplo: ordenar los resultados en orden ascendente
Para ordenar los resultados en orden ascendente, puede especificar la propiedad ASC. Si no se proporciona ningún valor (ASC o DESC) después del campo en la cláusula ORDER BY, el orden de clasificación será ascendente de forma predeterminada. Exploremos esto más a fondo.
En este ejemplo, tenemos una tabla llamada clientes con los siguientes datos:
Identificación del cliente | apellido | nombre | sitio favorito |
---|---|---|---|
4000 | jackson | José | Red de Ciencia y Tecnología |
5000 | Herrero | simple | digminecraft.com |
6000 | Ferguson | samantha | granactividad.com |
7000 | Reynolds | Alan | revisatumath.com |
8000 | anderson | Página | nulo |
9000 | Johnson | Derek | Red de Ciencia y Tecnología |
Ingrese la siguiente instrucción SQL:
SELECT * FROM customers ORDER BY last_name;
Se seleccionarán 6 registros. Estos son los resultados que deberías ver:
Identificación del cliente | apellido | nombre | sitio favorito |
---|---|---|---|
8000 | anderson | Página | nulo |
6000 | Ferguson | samantha | granactividad.com |
4000 | jackson | José | Red de Ciencia y Tecnología |
9000 | Johnson | Derek | Red de Ciencia y Tecnología |
7000 | Reynolds | Alan | revisatumath.com |
5000 | Herrero | simple | digminecraft.com |
Este ejemplo devuelve todos los registros de clientes ordenados por el campo last_name en orden ascendente y es equivalente a la siguiente cláusula SQL ORDER BY:
SELECT * FROM customers ORDER BY last_name ASC;
Si clasifica en orden ascendente, la mayoría de los programadores ignoran el atributo ASC.
Ejemplo: ordenar los resultados en orden descendente
Al ordenar el conjunto de resultados en orden descendente, puede usar el atributo DESC en la cláusula ORDER BY. Miremos más de cerca.
En este ejemplo, tenemos una tabla llamada proveedores con los siguientes datos:
Identificación del proveedor | Nombre del proveedor | Ciudad | Expresar |
---|---|---|---|
100 | microsoft | Redmond | Washington |
200 | paisaje de la cima de la montaña | California | |
300 | Oráculo | ciudad de secoya | California |
400 | Kimberly Clark | Owen | Texas |
500 | Alimentos Tyson | Springdale | Arkansas |
600 | sc johnson | Racine | el estado de wisconsin |
700 | Alimentos Dole | pueblo del lago oeste | California |
800 | flores comida | thomasville | Georgia |
900 | Artes electrónicas | ciudad de secoya | California |
Ingrese la siguiente instrucción SQL:
SELECT * FROM suppliers WHERE supplier_id > 400 ORDER BY supplier_id DESC;
Se seleccionarán 5 registros. Estos son los resultados que deberías ver:
Identificación del proveedor | Nombre del proveedor | Ciudad | Expresar |
---|---|---|---|
900 | Artes electrónicas | ciudad de secoya | California |
800 | flores comida | thomasville | Georgia |
700 | Alimentos Dole | pueblo del lago oeste | California |
600 | sc johnson | Racine | el estado de wisconsin |
500 | Alimentos Tyson | Springdale | Arkansas |
Este ejemplo ordena el conjunto de resultados en orden descendente por el campo Id. de proveedor.
Ejemplo: ordenar los resultados por posición relativa
También puede utilizar la cláusula SQL ORDER BY para ordenar por posición relativa en el conjunto de resultados, donde el primer campo del conjunto de resultados es 1, el segundo campo es 2, el tercer campo es 3, etc.
En este ejemplo, tenemos una tabla llamada productos con los siguientes datos:
ID del Producto | nombre del producto | categoria ID |
---|---|---|
1 | pera | 50 |
2 | plátano | 50 |
3 | mandarina | 50 |
4 | manzana | 50 |
5 | pan de molde | 75 |
6 | jamón | 25 |
7 | kleenex | nulo |
Ahora ingrese la siguiente instrucción SQL:
SELECT product_id, product_name FROM products WHERE product_name <> 'Bread' ORDER BY 1 DESC;
Se seleccionarán 6 registros. Estos son los resultados que deberías ver:
ID del Producto | nombre del producto |
---|---|
7 | kleenex |
6 | jamón |
4 | manzana |
3 | mandarina |
2 | plátano |
1 | pera |
Este ejemplo ordenará los resultados por el campo product_id en orden descendente porque el campo product_id está en la posición #1 en el conjunto de resultados y es equivalente a la siguiente cláusula SQL ORDER BY:
SELECT product_id, product_name FROM products WHERE product_name <> 'Bread' ORDER BY product_id DESC;
Ejemplo: uso de los atributos ASC y DESC
Al usar la cláusula SQL ORDER BY para ordenar el conjunto de resultados, puede usar los atributos ASC y DESC en una sola instrucción SELECT.
En este ejemplo, usemos la misma tabla de productos que en el ejemplo anterior:
ID del Producto | nombre del producto | categoria ID |
---|---|---|
1 | pera | 50 |
2 | plátano | 50 |
3 | mandarina | 50 |
4 | manzana | 50 |
5 | pan de molde | 75 |
6 | jamón | 25 |
7 | kleenex | nulo |
Ahora ingrese la siguiente instrucción SQL:
SELECT * FROM products WHERE product_id <> 7 ORDER BY category_id DESC, product_name ASC;
Se seleccionarán 6 registros. Estos son los resultados que deberías ver:
ID del Producto | nombre del producto | categoria ID |
---|---|---|
5 | pan de molde | 75 |
4 | manzana | 50 |
2 | plátano | 50 |
3 | mandarina | 50 |
1 | pera | 50 |
6 | jamón | 25 |
Este ejemplo devuelve registros ordenados por el campo category_id en orden descendente, luego por product_name en orden ascendente.