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.