SQL: cláusula ORDER BY

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 Google 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.