|
Hasta ahora, hemos visto cómo obtener datos de una tabla utilizando los comandos SELECT y WHERE. Con frecuencia, sin embargo, necesitamos enumerar el resultado en un orden particular. Esto podría ser en orden ascendente, en orden descendente, o podría basarse en valores numéricos o de texto. En tales casos, podemos utilizar la palabra clave ORDER BY para alcanzar nuestra meta.
La sintaxis para una instrucción ORDER BY es la siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
[WHERE "condición"]
ORDER BY "nombre_columna" [ASC, DESC]
[] significa que la instrucción WHERE es opcional. Sin embargo, si existe una cláusula WHERE, viene antes de la cláusula ORDER BY ASC significa que los resultados se mostrarán en orden ascendente, y DESC significa que los resultados se mostrarán en orden descendente. Si no se especifica ninguno, la configuración predeterminada es ASC.
Es posible ordenar por más de una columna. En este caso, la cláusula ORDER BYanterior se convierte en
ORDER BY "nombre1_columna" [ASC, DESC], "nombre2_columna" [ASC, DESC]
Suponiendo que elegimos un orden ascendente para ambas columnas, el resultado se clasificará en orden ascendente según la columna 1. Si hay una relación para el valor de la columna 1, se clasificará en orden ascendente según la columna 2.
Por ejemplo, podríamos desear enumerar los contenidos de la Tabla Store_Information según la suma en dólares, en orden descendente:
Tabla Store_Information
| store_name |
Sales |
Date |
| Los Angeles |
1500 € |
05-Jan-1999 |
| San Diego |
250 € |
07-Jan-1999 |
| San Francisco |
300 € |
08-Jan-1999 |
| Boston |
700 € |
08-Jan-1999 |
Ingresamos,
SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY Sales DESC
Resultado:
| store_name |
Sales |
Date |
| Los Angeles |
1500 € |
05-Jan-1999 |
| Boston |
700 € |
08-Jan-1999 |
| San Francisco |
300 € |
08-Jan-1999 |
| San Diego |
250 € |
07-Jan-1999 |
Además del nombre de la columna, podríamos utilizar la posición de la columna (según la consulta SQL) para indicar en qué columna deseamos aplicar la cláusula ORDER BY. La primera columna es 1, y la segunda columna es 2, y así sucesivamente. En el ejemplo anterior, alcanzaremos los mismos resultados con el siguiente comando:
SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY 2 DESC
SQL Fonciones >>
|