2011-05-25 15 views
5

¿Cuál es la diferencia entreDiferentes formas de alias de una columna

select empName as EmployeeName from employees 

frente

select EmployeeName = empName from employees 

desde un punto de vista técnico. No estoy seguro si esto es solo SQL Server específico o no.

Valora tus respuestas.

Respuesta

6

Yo prefiero el primero, ya que el segundo no es portátil -

select EmployeeName = empName from employees 

es o bien un error de sintaxis (por lo menos en SQLite y Oracle), o no podría darle lo que espera (comparando dos columnas EmployeeName y empName y devolver el resultado de la comparación como un booleano/número entero), mientras que

select empName EmployeeName from employees 

es la misma que

select empName as EmployeeName from employees 

que es mi variante preferida.

+0

+1 Definitivamente una desventaja de ese entonces! –

+0

¿Está seguro de que 'select EmployeeName empName from employees' es un sql válido? –

+0

@Jon if EmployeeName es el nombre de la columna en la tabla, sí, estoy bastante seguro de que es SQL válido :-) –

3

La principal ventaja de la segunda sintaxis es que permite que todos los alias de columna estén alineados, lo que puede ser beneficioso para las expresiones largas.

SELECT foo, 
     bar, 
     baz = ROW_NUMBER() OVER (PARTITION BY foo ORDER BY bar) 
FROM T 
+1

Dado que SQL no se preocupa por los espacios en blanco, ¿no puede alinearlos en ambos casos? –

+1

@Alison R. Podría hacer, pero es más trabajo tener que hacer los espacios en blanco. Además, si algo cambia en el elemento de datos, entonces el espacio en blanco tendrá que ajustarse nuevamente – Curt

+0

@Alison - Sí. "Permitir" era la palabra incorrecta, pero eso significaba 'baz' en mi ejemplo que se ajusta a 2 líneas. Uno con la expresión y el siguiente con el alias. –

1

No creo que haya una diferencia técnica. Es principalmente preferencial. Voy por el segundo ya que es más fácil detectar columnas en consultas grandes, especialmente si la consulta está apropiadamente sangrada.

Cuestiones relacionadas