Saltar a contenido

Un alias de tabla es una función de SQL que permite asignar un nombre temporal a una tabla durante la ejecución de una consulta.

A continuación se ilustra la sintaxis para definir un alias de tabla:

table_name AS alias_name

En esta sintaxis

  • nombre_tabla: Especifique el nombre de la tabla a la que desea dar un alias.
  • nombre_alias: Indique el alias de la tabla.

Al igual que alias de columna, la palabra clave AS es opcional, lo que significa que puede omitirla de la siguiente manera:

table_name alias_name

Ejemplos de alias de tablas PostgreSQL

Veamos algunos ejemplos de uso de alias de tablas.

Ejemplo básico de alias de tabla PostgreSQL

El siguiente ejemplo utiliza un alias de tabla para recuperar cinco títulos de la tabla film:

SELECT f.title
FROM film AS f
ORDER BY f.title
LIMIT 5;Code language: SQL (Structured Query Language) (sql)

Salida:

      title
------------------
 Academy Dinosaur
 Ace Goldfinger
 Adaptation Holes
 Affair Prejudice
 African Egg
(5 rows)

En este ejemplo, asignamos a la tabla film un alias f y utilizamos el alias de la tabla para calificar completamente la columna title.

Dado que la palabra clave AS es opcional, puede eliminarla de la siguiente manera:

SELECT f.title
FROM film f
ORDER BY f.title
LIMIT 5;

Uso de alias de tabla en cláusulas join

Normalmente, se utilizan alias de tabla en una consulta que tiene una cláusula join para recuperar datos de varias tablas relacionadas que comparten el mismo nombre de columna.

Si utiliza el mismo nombre de columna procedente de varias tablas en la misma consulta sin cualificarlas completamente, obtendrá un error.

Para evitar este error, puede calificar las columnas utilizando la siguiente sintaxis:

table_name.column_name

Si la tabla tiene un alias, puede calificar su columna utilizando el alias:

alias.column_name

Por ejemplo, la siguiente consulta utiliza una cláusula INNER JOIN para recuperar datos de las tablas customer y payment:

SELECT 
  c.customer_id, 
  c.first_name, 
  p.amount, 
  p.payment_date 
FROM 
  customer c 
  INNER JOIN payment p ON p.customer_id = c.customer_id 
ORDER BY 
  p.payment_date DESC;Code language: SQL (Structured Query Language) (sql)

Salida:

 customer_id | first_name  | amount |        payment_date
-------------+-------------+--------+----------------------------
          94 | Norma       |   4.99 | 2007-05-14 13:44:29.996577
         264 | Gwendolyn   |   2.99 | 2007-05-14 13:44:29.996577
         263 | Hilda       |   0.99 | 2007-05-14 13:44:29.996577
         252 | Mattie      |   4.99 | 2007-05-14 13:44:29.996577

Tenga en cuenta que aprenderá sobre INNER JOIN en el próximo tutorial.

Uso de alias de tablas en la autounión

Cuando se une una tabla a sí misma (también conocido como self-join, es necesario utilizar alias de tablas. Esto se debe a que si se hace referencia a la misma tabla varias veces en una consulta, se producirá un error.

El siguiente ejemplo muestra cómo hacer referencia a la tabla film dos veces en la misma consulta utilizando los alias de tabla:

SELECT
    f1.title,
    f2.title,
    f1.length
FROM
    film f1
INNER JOIN film f2 
    ON f1.film_id <> f2.film_id AND 
       f1.length = f2.length;

Salida:

            title            |            title            | length
-----------------------------+-----------------------------+--------
 Chamber Italian             | Resurrection Silverado      |    117
 Chamber Italian             | Magic Mallrats              |    117
 Chamber Italian             | Graffiti Love               |    117
 Chamber Italian             | Affair Prejudice            |    117
 Grosse Wonderful            | Hurricane Affair            |     49
 Grosse Wonderful            | Hook Chariots               |     49
 Grosse Wonderful            | Heavenly Gun                |     49
 Grosse Wonderful            | Doors President             |     49
...

Ten en cuenta que aprenderás sobre self-join en el próximo tutorial.

Resumen

  • Utilice los alias de tabla PostgreSQL para asignar un nombre temporal a una tabla durante la ejecución de una consulta.