Ir al contenido principal

Alias de columnas en PostgreSQL

Los alias de columnas te permiten definir un nombre temporal para las columnas y las expresiones. Los alias definidos en una consulta duran el tiempo que dure la ejecución de la consulta y no modifican ninguna columna ni dato.

PostreSQL dispone de una clausula especial para definir los alias, pero su uso es opcional. Vemos dos ejemplos de sintaxis.

SELECT column AS alias FROM tabla;

En este primer ejemplo hemos usado la clausula AS para definir el alias.

SELECT column alias FROM tabla;

En este segundo ejemplo hemos omitido el uso de la clausula AS. En todo caso ambas posibilidades son correctas y funcionan.

Los alias se usan generalmente para personalizar los nombres de las columnas en los resultados. Su uso principal es para definir un nombre de columna más intuitivo o también para definir un nombre al resultado de una expresión. Solamente hay que tomar la precaución de no definir un alias con el mismo nombre de una columna que exista dentro de las tablas consultadas ya que se producirá un error.

Veamos algunos ejemplos a continuación.

Asignación de un alias a una columna cualquiera

En el capítulo anterior mostramos un ejemplo para recuperar unas ciertas columnas de una tabla. Supongamos que ahora queremos ejecutar la misma consulta pero, ahora, queremos que los nombres de las columnas en el resultado estén en castellano y no en inglés. Lo lograríamos con una sentencia como esta:

SELECT 
    last_name Nombre, 
    first_name apellido, 
    title_of_courtesy "Título de cortesía" 
FROM employees;

Esta consulta produce el siguiente resultado:

s1-aliases-1.png

Si observas los encabezados de las columnas del resultado, muestran el alias, pero hay un detalle. En la primera columna, a la que le hemos asignado el alias Nombre, aparece en el resultado como nombre. Esto se debe a que PostgreSQL no tiene en cuenta si lo que esta escrito lo esta en mayúsculas o en minúsculas.

Ahora observa la tercera columna, definimos el alias usando comillas "Título de cortesía" y en el resultado se muestra como Título de cortesía. Como puedes observar al usar comillas ("), hemos definido un literal de cadena que, PostgreSQL respeta y mantiene el texto tal y como lo definimos.

Asignación de un alias a una expresión

Como dijimos anteriormente uno de los usos de los alias es el de darle nombre al resultado de una expresión. Si tomamos el ejemplo del capítulo anterior y lo modificamos, quedaría así:

SELECT title_of_courtesy ||' '|| first_name ||' '|| last_name AS "Nombre Completo" FROM employees;

Nos devuelve el siguiente resultado:

s1-aliases-2.png

Como puedes ver, ahora el encabezado de la columna muestra un nombre más intuitivo y no el nombre autogenerado por PostgreSQL, que no tiene ningún tipo de contexto con los datos.