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

Estrada Web Group
Administrador
¿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.

Compartir artículo:

Más artículos geniales

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

¿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. Respondere a las preguntas ¿Qué son los alias de SQL Server? Y ¿Para qué sirven los alias en SQL Server?

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla ;