Página inicial  

Tema 2. Las consultas simples (II)


Ordenación de las filas - ORDER BY -



Para ordenar las filas del resultado de la consulta, tenemos la cláusula ORDER BY.

Con esta cláusula se altera el orden de visualización de las filas de la tabla pero en ningún caso se modifica el orden de las filas dentro de la tabla. La tabla no se modifica.

Podemos indicar la columna por la que queremos ordenar utilizando su nombre de columna (nbcolumna) o utilizando su número de orden que ocupa en la lista de selección (Nºcolumna).

Ejemplo:

SELECT nombre, oficina, contrato
FROM empleados
ORDER BY oficina

es equivalente a

SELECT nombre, oficina, contrato
FROM empleados
ORDER BY 2

Por defecto el orden será ascendente (ASC) (de menor a mayor si el campo es numérico, por orden alfabético si el campo es de tipo texto, de anterior a posterior si el campo es de tipo fecha/hora, etc...

Ejemplos:

SELECT nombre, numemp, oficinarep
FROM empleados
ORDER BY nombre

Obtiene un listado alfabético de los empleados.

SELECT nombre, numemp, contrato
FROM empleados
ORDER BY contrato

Obtiene un listado de los empleados por orden de antiguedad en la empresa (los de más antiguedad aparecen primero).

SELECT nombre, numemp,ventas
FROM empleados
ORDER BY ventas

Obtiene un listado de los empleados ordenados por volúmen de ventas sacándo los de menores ventas primero.

Si queremos podemos alterar ese orden utilizando la cláusula DESC (DESCendente), en este caso el orden será el inverso al ASC.

Ejemplos:

SELECT nombre, numemp, contrato
FROM empleados
ORDER BY contrato DESC

Obtiene un listado de los empleados por orden de antiguedad en la empresa empezando por los más recientemente incorporados.

SELECT nombre, numemp,ventas
FROM empleados
ORDER BY ventas DESC

Obtiene un listado de los empleados ordenados por volúmen de ventas sacando primero los de mayores ventas.

También podemos ordenar por varias columnas, en este caso se indican las columnas separadas por comas.
Se ordenan las filas por la primera columna de ordenación, para un mismo valor de la primera columna, se ordenan por la segunda columna, y así sucesivamente.

La cláusula DESC o ASC se puede indicar para cada columna y así utilizar una ordenación distinta para cada columna. Por ejemplo ascendente por la primera columna y dentro de la primera columna, descendente por la segunda columna.

Ejemplos:

SELECT region, ciudad, ventas
FROM oficinas
ORDER BY region, ciudad

Muestra las ventas de cada oficina , ordenadas por orden alfabético de región y dentro de cada región por ciudad.

SELECT region, ciudad, (ventas - objetivo) AS superavit
FROM oficinas
ORDER BY region, 3 DESC

Lista las oficinas clasificadas por región y dentro de cada región por superavit de modo que las de mayor superavit aparezcan las primeras.



 
Pag. 2.2
Aviso legal: este curso es gratuito siempre que se visualice desde la página web de aulaClic. No está permitido descargar el curso ni utilizarlo en academias o centros de enseñanza privados sin estar conectado a Internet.
© aulaClic. Todos los derechos reservados. Free Computer tutorials . Prohibida la reproducción por cualquier medio.
Abril-2001.aulaClic.com