2012-01-25 6 views
6

¿Cuál es la mejor?¿Es mejor usar alias de columna con o sin la palabra clave AS?

Select TestColumn TC 

o

Select TestColumn AS TC 

Yo prefiero el primero pero no estoy seguro si esto es una forma moderna de declarar el alias.

+4

Ver [la reciente publicación del blog de Aaron Bertrand sobre el tema] (http://sqlblog.com/blogs/aaron_bertrand/archive/2012/01/23/bad-habits-to-kick-using-as-instead- of-for-column-aliases.aspx) - aboga por el uso de 'SELECT SomeColumnName = .......' sobre sus dos opciones –

+4

. Hay otra opinión sobre el tema: [Hábitos negativos a patear: usar AS en lugar de = para alias de columna] (http://sqlblog.com/blogs/aaron_bertrand/archive/2012/01/23/bad-habits-to-kick-using-as-instead-of-for-column-aliases.aspx) –

+0

@marc_s: ¡Jinx! Supongo que ambos somos seguidores de Aaron Bertrand. :-) –

Respuesta

4

Prefiero el segundo (usando "AS"). Si funciona de cualquier manera, simplemente use lo que prefiera y úselo de manera consistente.

3

No debería hacer ninguna diferencia que use, simplemente quédese con él. Prefiero AS personalmente, es un sentimiento más específico.

3

Ambos deberían funcionar. Elige lo que prefieras, o lo que sea que creas, se agrega a la legibilidad de la consulta. Personalmente usualmente alias con "AS", solo una pizca más legible en mi opinión.

9

Los dos son equivalentes para la mayoría de los propósitos. Prefiero la notación AS explícita.

Una razón por la que utilizo el formulario AS es porque, en el DBMS que uso principalmente, proporciona una medida de protección contra las nuevas palabras clave que aparecen en las actualizaciones del sistema. Es decir:

SELECT TestColumn KeyWord 

donde 'palabra clave' se convierte en una palabra clave en una versión futura puede causar problemas, mientras que en el sistema particular, usando:

SELECT TestColumn AS KeyWord 

sigue siendo válida.

Recientemente me enteré (me dijeron) de que Oracle no admite AS en alias de tabla.

FROM TableName T1  -- OK in Oracle 
FROM TableName AS T1 -- Not OK in Oracle 

Si eso es correcto (no lo he validado), entonces considero que AS es un error.

Es su elección, sin embargo; las dos notaciones son equivalentes.

+0

+1 y sí Oracle no permite 'FROM TableName AS T1'. Dado que no reclaman un rendimiento del 100% de las normas, no comparto su opinión de que debería llamarse un "error" :-) –

+0

@JackDouglas: Para mí, es un problema hipotético y, por lo tanto, un error hipotético (porque no puedo trabajar de manera práctica con Oracle). Pero enfurecería las luces de la vida si tuviera que usar Oracle. Sin embargo, uno se adapta según sea necesario. ¡Gracias por confirmar lo que recordaba que me contaron! –

3

Depende.

Más específicamente, depende de los estándares de codificación para el entorno en el que está trabajando. Independientemente de las preferencias personales, puede que tenga que adaptar su estilo para alinearse con los estándares de codificación del grupo o equipo en el que está trabajando.

Es más importante que su SQL tenga la misma apariencia que el resto del SQL para facilitar las pruebas y la depuración de su código cuando se transfiere al equipo de prueba y finalmente al equipo de operaciones y mantenimiento en producción.

Cuestiones relacionadas