Tutorial SQL – Ordenando los Registros Consultados


Tutorial Java
Cómo lo hacen en Java

Los servidores de Bases de Datos, ordenan los registros de las tablas internamente de una forma particular que sólamente ellos conocen, cada servidor tendrá su algorítmo propio de ordenamiento.

Cuando recuperamos información de MySQL sin establecer ningún orden, ésta información es recuperada en un orden natural que coincide con el orden en el cual mandamos incluir un registro sobre el otro.

Hay veces que al realizar una consulta con SELECT-SQL sin indicar el orden en el cual deseas recupar la información, aparentemente obtienes la lista de registros en el orden en el cual estabas esperando obtener, pero presta atención, creer siempre en ésta afirmación puede ser muy peligroso para tus aplicaciones, ya que te en algún momento puedes obtener resultados inprevistos.

Es por eso que mi recomendación, por la experiencia que tengo es que SIEMPRE cuando realices consultas a la base de datos, utilices la cláusula para ordenar los resultados que vas a recuperar y el objetivo de éste artículo es mostrarte cómo utilizar esta simples cláusula.

Ordenar los Registros a Consultar

La cláusula para ordenar los registros ORDER BY se utiliza junto con la sentencia SELECT-SQL y lo ideal es que ordenes de acuerdo al resultado final de lo que deseas mostrar en la pantalla o de acuerdo al procesamiento que con los datos en ese orden quieras realizar.

La sintaxis es la siguiente:

ORDER BY lista_de_campos

En donde lista_de_campos representa los campos a ordenar. Mira el siguiente ejemplo:

SELECT              lib_codigo, 

             lib_descripcion, 

             lib_cantidad

FROM              libros

ORDER BY lib_descripcion;

Esta consulta te devolverá los campos Código, Descripción y Cantidad de la tabla libros ordenados por el campo Descripción.

Ordenar por más de un campo

Tambien puedes ordenar los registros por mas de un campo, como por ejemplo:

SELECT 

               lib_codigo, 

               lib_descripcion, 

               lib_cantidad

FROM

                libros

ORDER BY lib_descripcion, lib_codigo;

Esta consulta te retornará todos los registros de la tabla libros ordenados primero por descripción y luego por código.

Esto significa que se utilizará el segundo campo lib_codigo sólamente para ordenar los registros cuando existan valores repetidos en el primer campo, es decir en lib_descripcion.

Ordenar en sentido contrario

Incluso se puede especificar la dirección de los registros, con las siguientes palabras:

ASC = Ascendente (aunque se toma este valor por defecto, por eso a menudo no se usa

DESC = Descendente

Mira el siguiente ejemplo:

SELECT            lib_cantidad

           lib_codigo, 

           lib_descripcion, 

FROM librosORDER BY lib_codigo DESC;

o éste otro ejemplo que combina dos campos pero con ordenamientos en sentidos contrarios:

SELECT 

           lib_codigo, 

           lib_descripcion, 

           lib_cantidad

FROM libros

ORDER BY lib_codigo DESC, lib_descripcion ASC;

——–

Te repito que todos estos ejercicios de SQL te conviene practicarlos, siguiendo el modelo de la Clase de Testes de Conexion # 1, ya que necesitarás conocer para los videos tutoriales de java que estoy publicando.

Con ésto concluyo el artículo, deseandote un feliz resto de jornada!!!

Un cordial Saludo.

Marcos Jara

Esta entrada fue publicada en Tutorial SQL- Ejemplos prácticos y etiquetada , , , , . Guarda el enlace permanente.

2 respuestas a Tutorial SQL – Ordenando los Registros Consultados

  1. hugo dijo:

    buena explicación, yo necesito hacer una consulta en donde primero aparesca unos registros en especifico y despues las demas, por ejemplo ti tengo en una columna llamada ciudad: monterrey, nuevo leon, zacatecas, orizaba, tehuacan. entonses quiero que lo primero que salga sea por ejemplo orizaba, cómo podria hacerlo?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s