¿Qué son y para qué sirven los alias en SQL Server?

En este tutorial, aprenderás a usar los alias de SQL Server, incluido el alias de columna y el alias de tabla.
El uso de alias en columnas de tablas de SQL Server
Cuando usas la instrucción SELECT para consultar datos de una tabla, SQL Server usa los nombres de columna como encabezados de columna para mostrar los resultados. Observa el siguiente ejemplo tomando en cuenta la base de datos de ejemplo:
SELECT first_name, last_name
FROM sales.customers
ORDER BY first_name;
first_name last_name
-------------------- --------------------
Aaron Knapp
Abbey Pugh
Abby Gamble
Abram Copeland
Adam Henderson
Adam Thornton
.
.
.
(1445 row(s) affected)
Como se muestra claramente en los resultados, los nombres de columna first_name y last_name se usaron para los encabezados de columna, respectivamente.
Para obtener los nombres completos de los clientes, puedes concatenar el nombre, el espacio y el apellido utilizando el operador de concatenación + como se muestra en la siguiente consulta:
SELECT first_name + ' ' + last_name
FROM sales.customers
ORDER BY first_name;
( No column name)
-----------------
Aaron Knapp
Abbey Pugh
Abby Gamble
Abram Copeland
Adam Henderson
.
.
.
(1445 row(s) affected)
SQL Server regresa la columna de nombre completo como (No column name) que no tiene sentido en este caso.
Para asignar a una columna o una expresión un nombre temporal durante la ejecución de la consulta, utiliza un alias de columna.
A continuación, se ilustra la sintaxis de alias de columna:
column_name | expression AS column_alias
En esta sintaxis, utiliza la palabra clave AS
para separar el nombre o la expresión de la columna y el alias.
Como la palabra clave AS
es opcional, puedes asignar un alias a una columna de la siguiente manera:
column_name | expression column_alias
Volviendo al ejemplo anterior, puedes volver a escribir la consulta con un alias de columna:
SELECT first_name + ' ' + last_name AS Nombre_Completo
FROM sales.customers
ORDER BY first_name;
Ten en cuenta que, si el alias de columna contiene espacios, debes encerrarlo entre comillas como se muestra en el siguiente ejemplo:
SELECT first_name + ' ' + last_name AS 'Nombre Completo'
FROM sales.customers
ORDER BY first_name;
Nombre Completo
---------------
Aaron Knapp
Abbey Pugh
Abby Gamble
Abram Copeland
Adam Henderson
.
.
.
(1445 row(s) affected)
El siguiente ejemplo muestra cómo asignar un alias a una columna:
SELECT category_name 'Categoría Producto'
FROM production.categories;
Categoría Producto
----------------------
Children Bicycles
Comfort Bicycles
Cruisers Bicycles
Cyclocross Bicycles
Electric Bikes
Mountain Bikes
Road Bikes
(7 row(s) affected)
En este ejemplo, el alias de la columna de categoría de producto es mucho más claro que el nombre de la columna de category_name
.
Cuando asignas un alias a una columna, puedes usar el nombre de la columna o el alias de la columna en la cláusula ORDER BY como se muestra en el siguiente ejemplo:
SELECT category_name 'Categoría Producto'
FROM production.categories
ORDER BY category_name;
---------------------------------------------------------
SELECT category_name 'Categoría Producto'
FROM production.categories
ORDER BY 'Categoría Producto';
Ten en cuenta que la cláusula ORDER BY es la última cláusula que se procesará, por lo tanto, los alias de columna se conocen en el momento de la clasificación.
Uso de alias en tablas de SQL Server
A una tabla se le puede dar un alias que se conoce como nombre de correlación o variable de rango.
De manera similar al alias de columna, se puede asignar un alias de tabla con o sin la palabra clave AS
:
table_name AS table_alias
table_name table_alias
Observa el siguiente ejemplo:
SELECT sales.customers.customer_id, first_name, last_name, order_id
FROM sales.customers
INNER JOIN sales.orders ON sales.orders.customer_id = sales.customers.customer_id;
customer_id first_name last_name order_id
----------- --------------- --------------- -----------
1 Debra Burks 599
1 Debra Burks 1555
1 Debra Burks 1613
2 Kasha Todd 1509
2 Kasha Todd 692
2 Kasha Todd 1084
3 Tameka Fisher 1496
.
.
.
(1615 row(s) affected)
En este ejemplo, tanto los clientes como las tablas de pedidos tienen una columna con el mismo nombre customer_id, por lo tanto, debes consultar la columna con la siguiente sintaxis:
table_name.column_name
quedando de la siguiente manera:
sales.custoners.customer_id
sales.orders.customer_id
Si no lo haces de esa manera, el servidor SQL regresará un error.
La consulta anterior es bastante difícil de leer. Afortunadamente, puedes mejorar su legibilidad utilizando un alias de la tabla de la siguiente manera:
SELECT c.customer_id, first_name, last_name, order_id
FROM sales.customers c
INNER JOIN sales.orders o ON o.customer_id = c.customer_id;
En esta consulta, c es el alias de la tabla sales.customers y o es el alias de la tabla sales.orders.
Cuando asigna un alias a una tabla, debes usar el alias para referirte a la columna de la tabla. De lo contrario, SQL Server regresará un error.
En este tutorial, has aprendido a usar los alias de SQL Server, incluido el alias de columna y el alias de tabla.