Generalidades
Como una de las cláusulas que podemos utilizar aparece ORDER, el cual sirve para especificar el orden como su nombre en inglés lo dice, en que se desean recuperar los
registros
de las
tablas
con la sintaxis "ORDER BY" y luego una lista de
Campos
que definirán los
campos
a ordenar:
Sintaxis
SELECT
campo1, campo2, campo3, campo4
FROM
Clientes ORDER BY campo_ordenar_primero, campo_ordenar_segundo
Incluso se puede especificar el orden de los registros: ascendente mediante la claúsula ASC si se desea ordenar los
registros
de manera ascendente, valor que toma por defecto si no se especifica esto, o bien se puede utilizar DESC, en este caso se ordenará de manera descendente el resultado.
Veamos esto con unos ejemplos que traerían resultados ordenados de diferente manera:
SELECT *
FROM
nombre_tabla ORDER BY campo1, campo3, campo8
Esta sintaxis nos va a
seleccionar
todos los
registros
de la
tabla
y los traerá ordenados de la manera específica que le solicitamos, es decir primero se ordenarán por el "campo1", luego ante la igualdad de este se decidirá el orden por el segundo campo en la lista de
campos
especificada luego de la cláusula ORDER BY, es decir el campo de nombre "campo3", para finalizar ordenando por el "campo8" como tercer y último criterio.
SELECT
*
FROM
nombre_tabla ORDER BY campo8, campo1, campo2
Esta sintaxis nos va a
seleccionar
todos los
registros
de la
tabla
y pero ahora los traerá ordenados primero por el "campo8", luego ante la igualdad de este se decidirá el orden por el segundo campo en la lista es decir el campo de nombre "campo1", para finalizar ordenando por el "campo3" como último criterio.
En definitiva el orden que aparecen en la lista, otorga la prioridad en el ordenamiento de los
registros,
desde el primero de
mayor
prioridad hasta el último.
Estos dos ejemplos anteriores toman por defecto un ordenamiento ascendente de los
registros,
seria lo mismo que colocar la cláusula ASC en todos los casos:
SELECT
*
FROM
nombre_tabla ORDER BY campo1 ASC, campo3 ASC, campo8 ASC
SELECT
*
FROM
nombre_tabla ORDER BY campo8 ASC, campo1 ASC, campo2 ASC
Si hubiésemos querido lo contrario tendríamos que haber colocado la cláusula DESC para lograr un orden descendente como ya dijimos, y se puede utilizar logicamente una o la otra en un mismo campo, pero cualquiera de las dos puede ser utilizada en otro campo del mismo listado como por ejemplo:
SELECT
*
FROM
nombre_tabla ORDER BY campo1 DESC, campo3 ASC, campo8 DESC
Tener en cuenta que el orden no distingue entre mayúsculas y minúsculas para el caso que se trate de letras, luego entre las mismas se realiza un orden simplemente alfabético, mientras que los
números
tienen
menor
orden que las letras, quedando por delante de éstas, así mismo los distintos símbolos y signos de puntuación, tienen
menor
orden que los números:
Por ejemplo ordenando de
menor
a
mayor,
es decir ascendentes estas Ciudades quedaría:
9 de Julio
25 de Mayo
Arrecifes
Bahía Blanca
Córdoba