Posts tagged: SQL

Jul 30 2009

La importancia de utilizar ORDER BY

Dado que hace un tiempo que somos partners de formación de MySQL, voy a dar una pequeña lección práctica hoy.

ORDER BY es una cláusula del lenguaje SQL que puede ser utilizada a la hora de realizar búsquedas ordenadas en una tabla con la orden SELECT.

Su sintaxis es:

ORDER BY <campo_tabla> [ASC, DESC]

y el gestor de la base de datos, al devolver el resultado de la búsqueda, nos dará el resultado ordenado por el campo que hemos seleccionado, y si añadimos el modificador ASC o el DESC, además lo hará en orden ascendente o descendente.

Así, si en nuestra aplicación tenemos una tabla proyectos y queremos verlos ordenados por un campo que almacena cuántos WTF por minuto se generan en cada proyecto, podríamos lanzar la siguiente consulta:

SELECT * FROM proyectos ORDER BY wtf_per_minute DESC;

Es simple y sencillo, y además será útil si el usuario está buscando la información de esa manera.

Pregunta: ¿Qué ocurre si el usuario conocedor de ORDER BY espera que se utilice en una aplicación web y no se hace? ¿Qué ocurre si el usuario “normal” de la página web ve que el caos es quien ordena sus resultados?
Respuesta: Que los dos generarán odio e insatisfacción hacia aquellas mentes que olvidaron usar ORDER BY en sus SELECTs

Un ejemplo aplicado podría verse en una web de eventos culturales. Los usuarios, deseosos de conocer lo que sucede en su ciudad, querrán tener un listado de todas aquellas cosas que van a suceder en su ciudad, desde el día actual en adelante, para poder organizarse una agenda. Esto es, los datos se ordenarán por su fecha o en su defecto, quizá se puedan ordenar por otro parámetro a conveniencia del usuario…

Pero cuando no se aplica el sentido común, ocurre esto:

Página web sin ORDER BY que genera odio y confusión en sus usuarios

Página web sin ORDER BY que genera odio y confusión en sus usuarios

y obligamos al usuario a buscar por 10 páginas desorganizadas dónde está el evento que busca. En una web de entradas, lo que puede desembocar es que el usuario acabe por no usarla nunca y vaya a la tradicional taquilla para sacar sus pases.

Espero que la lección haya sido útil ;)

PD: Si nos lees a través de nuestro Planet y has visto un salto temporal un tanto extraño, mi post anterior no se debe a no utilizar ORDER BY, sino a un error de Wordpress con PlanetPlanet!! (Bueno, o si quieres pensar que no aplicamos nuestras propias lecciones, pues… qué le vamos a hacer :) )

WordPress Themes