Databases

T01-004 Ordenar los resultados

Enunciado

En ocasiones, puede ser necesario ordenar por más de un atributo. En ese caso, deberemos separar los atributos que vamos a utilizar para ordenar los resultados por comas:

SELECT atributos
FROM tabla
ORDER BY atributo [DESC | ASC ], atributo [DESC | ASC ], ...

Ejemplo:

Vamos a mostrar las direcciones (locations) ordenadas, descendentemente por el país (COUNTRY_ID) y ascendendentemente por la ciudad. De todos los atributos de la tabla locations que podemos mostrar, vamos a elegir STREET_ADDRESS, COUNTRY_ID y CITY:

SELECT STREET_ADDRESS, COUNTRY_ID, CITY FROM
HR.LOCATIONS
ORDER BY COUNTRY_ID DESC, CITY ASC

STREET_ADDRESS COUNTRY_ID CITY
2004 Charade Rd US Seattle
2007 Zagora St US South Brunswick
2011 Interiors Blvd US South San Francisco
2014 Jabberwocky Rd US Southlake
8204 Arthur St UK London
Magdalen Centre, The Oxford Science Park UK Oxford
9702 Chester Road UK Stretford
198 Clementi North SG Singapore
Pieter Breughelstraat 837 NL Utrecht
... ... ...

Si nos fijamos, veremos que, el primer criterio por el que se ordena  es el país. De esta forma, aparecen en primer lugar todas las direcciones del país cuyo código (COUNTRY_ID) es "US", seguidos de todos los que tienen el código "UK", ya que la ordenación es descendente.

Pero, ¿están ordenados las direcciones pertenecientes a un mismo país? La respuesta es . Entre todas las direcciones en las que el código del país es "US", aparecen en primer lugar las que alfabéticamente tienen un nombre de ciudad menor, aunque esto se observa mejor entre las direcciones que tienen el código de país "UK".

Ejercicio:

Muestra los nombre (FIRST_NAME), los apellidos (LAST_NAME),  el número de departamento (DEPARTMENT_ID) y el salario (SALARY) de los empleados (employees) ordenados ascendentemente por el número del departamento y, dentro de cada departamento, desde los de  mayor salario a los de menor salario.

 

Tipo

SELECT

Solución


												
SELECT FIRST_NAME, LAST_NAME, DEPARTMENT_ID, SALARY FROM HR.employees ORDER BY DEPARTMENT_ID ASC, SALARY DESC

Prueba


											

Librerías (Onfly databases)