Un alias es una característica de SQL que es compatible con la mayoría, si no todos, los sistemas de administración de bases de datos relacionales (RDBMS) . Los alias brindan a los administradores de la base de datos , así como a otros usuarios de la base de datos, la capacidad de reducir la cantidad de código requerido para una consulta y hacer que las consultas sean más fáciles de entender. Además, el alias se puede utilizar como una técnica de ofuscación para proteger los nombres reales de los campos de la base de datos.
En SQL, puede crear alias de tablas y columnas . Un alias de tabla también se denomina nombre de correlación . [1] Un programador puede usar un alias para asignar temporalmente otro nombre a una tabla o columna durante la duración de una consulta SELECT . Asignar un alias en realidad no cambia el nombre de la columna o tabla. Esto suele ser útil cuando las tablas o sus columnas tienen nombres muy largos o complejos. Un nombre de alias puede ser cualquier cosa, pero por lo general se mantiene corto. Por ejemplo, podría ser común usar un alias de tabla como "pi" para una tabla llamada "información_precio".
La sintaxis general de un alias es . Tenga en cuenta que la palabra clave AS es completamente opcional y generalmente se mantiene con fines de legibilidad. A continuación, se muestran algunos datos de muestra a los que harán referencia las consultas siguientes:SELECT * FROM table_name [AS] alias_name
DepartmentID | Nombre de Departamento |
---|---|
31 | Ventas |
33 | Ingenieria |
34 | Clerical |
35 | Márketing |
Usando un alias de tabla:
SELECT D . Nombre de departamento FROM Departamento AS D
También podemos escribir la misma consulta como esta (tenga en cuenta que la cláusula AS se omite esta vez):
SELECT D . Nombre de departamento FROM Departamento D
Un alias de columna es similar:
SELECCIONAR d . ID de departamento ID de AS , d . Nombre del departamento AS Nombre DEL Departamento d
En los conjuntos de resultados devueltos , se devolverían los datos que se muestran arriba, con la única excepción de que "DepartmentID" se mostraría como "Id" y "DepartmentName" se mostraría como "Name".
Además, si solo se selecciona una tabla y la consulta no utiliza combinaciones de tablas , se puede omitir el nombre de la tabla o el alias de la tabla del nombre de la columna en la instrucción SELECT. Ejemplo de la siguiente manera:
SELECT DepartmentId AS Id , DepartmentName AS Name FROM Department d
Algunos sistemas, como Postgres [2] y Presto, [3] admiten la especificación de alias de columna junto con alias de tabla. P.ej
SELECT D . Id FROM Departamento AS D ( Id )
produciría el mismo conjunto de resultados que antes. En esta sintaxis, está permitido omitir alias para algunos nombres de columna. En el ejemplo, se proporcionó un alias para DepartmentId, pero se omitió para DepartmentName. Las columnas con alias no especificados se dejarán sin alias. Esta sintaxis se usa a menudo con expresiones que no producen nombres útiles de tablas y columnas, como VALUES [4] y UNNEST. [5] Como ejemplo, uno puede probar convenientemente las declaraciones SQL anteriores sin crear una tabla de Departamentos real utilizando expresiones como
WITH Department ( DepartmentId , DepartmentName ) AS ( VALUES ( 1 , 'HR' ), ( 2 , 'IT' )) SELECT DepartmentId AS Id , DepartmentName AS Name FROM Department d ;
Referencias
- ^ ANSI Standard SQL - Documento básico - Fecha: 14 de octubre de 2010
- ^ PostgreSQL: Documentación: 13: 7.2. Expresiones de tabla
- ^ https://prestodb.io/docs/0.248/sql/select.html SELECT - Presto 0.248 Documentation
- ^ https://prestodb.io/docs/0.248/sql/values.html#examples VALUES - Presto 0.248 Documentation
- ^ https://prestodb.io/docs/0.248/sql/select.html#unnest SELECT - Presto 0.248 Documentation