Problema:
Desea mostrar los registros de una tabla en orden alfabético o alfabético inverso según la columna dada.
Ejemplo:
Nuestra base de datos tiene una tabla llamada cliente. La tabla de clientes contiene datos en las columnas id, nombre y apellido.
id | nombre | apellido |
---|---|---|
1 | Susana | Tomás |
2 | Juan | Miguel |
3 | Tom | Muller |
Vamos a mostrar la información de cada cliente, ordenada en orden ascendente por su apellido.
Solución:
SELECT id, first_name, last_name, FROM customer ORDER BY last_name ASC;
Esta consulta devuelve registros ordenados alfabéticamente:
id | nombre | apellido |
---|---|---|
2 | Juan | Miguel |
3 | Tom | Muller |
1 | Susana | Tomás |
Discusión:
Si desea seleccionar registros de una tabla pero le gustaría verlos ordenados de acuerdo con una columna dada, simplemente puede usar el ORDER BY
cláusula al final de un SELECT
declaración. No importa cuán complicada o larga sea su consulta SQL:ORDER BY
siempre debe estar al final del comando.
Después del ORDER BY
palabra clave, nombre la columna por la que se deben ordenar los registros. En nuestra consulta, ordenamos por el apellido del cliente.
o
Por defecto, ORDER BY
sin ningún especificador adicional clasifica en orden ascendente (equivalente a usar el ASC
palabra clave explícitamente). Como probablemente puedas adivinar, ASC
significa "ascendente". Si desea ordenar en orden descendente, simplifique, especifique el DESC
palabra clave después del nombre de la columna.
La consulta a continuación es similar a la anterior pero devuelve una lista de clientes ordenados en orden descendente por su apellido:
SELECT id, first_name, last_name, FROM customer ORDER BY last_name DESC;
id | nombre | apellido |
---|---|---|
1 | Susana | Tomás |
3 | Tom | Muller |
2 | Juan | Miguel |