Como sabes, en SQL para ordenar el resultado de una consulta puedes escribir:

SELECT
   PRD_CODIGO,
   PRD_NOMBRE
FROM
   PRODUCTOS
ORDER BY
   PRD_NOMBRE

o escribir algo como:

SELECT
   PRD_CODIGO,
   PRD_NOMBRE
FROM
   PRODUCTOS
ORDER BY
   2

Y el resultado que obtendrás será exactamente el mismo. De la misma manera puedes agrupar por nombres de las columnas o por la posición que esas columnas ocupan.

¿Qué es preferible, usar el nombre de la columna o la posición de la columna?

Antes de que existiera SQL la forma normal era utilizar la posición de la columna, el hecho de poder utilizar el nombre de la columna en SQL resultó un gran avance en esa época.

Si usas la posición, el problema que puedes tener es que agregas una columna a tu SELECT y si te olvidas de actualizar también las cláusulas ORDER BY o GROUP BY, entonces obtendrás un resultado incorrecto.

SELECT
   PRD_CODIGO,
   PRD_UNIMED,
   PRD_NOMBRE
FROM
   PRODUCTOS
ORDER BY
   2

Aquí, se agregó la columna PRD_UNIMED (unidad de medida) pero no se actualizó la cláusula ORDER BY y por lo tanto el orden de las filas no será el correcto. En cambio, en este caso:

SELECT
   PRD_CODIGO,
   PRD_UNIMED,
   PRD_NOMBRE
FROM
   PRODUCTOS
ORDER BY
   PRD_NOMBRE

También se agregó la columna PRD_UNIMED pero sin embargo se sigue mostrando a las filas en el orden correcto porque en la cláusula ORDER BY se utiliza el nombre de la columna, no su posición.

Conclusión:

Usar el nombre de la columna o la posición de la columna tiene ventajas y desventajas.

La ventaja de usar el nombre de la columna es que aunque agregues columnas el resultado siempre estará ordenado o agrupado correctamente.

La ventaja de usar la posición de la columna es que escribes menos.

Los buenos profesionales siempre recomiendan usar el nombre de la columna porque se escribe más, sí, pero se entiende mejor.

Artículo relacionado:

El índice del blog Firebird21

 

Anuncios