2012-01-25 10 views
6

Qual è il migliore?È meglio utilizzare gli alias di colonna con o senza la parola chiave AS?

Select TestColumn TC 

o

Select TestColumn AS TC 

io preferisco il primo, ma io non sono sicuro se questo è un modo moderno di dichiarare l'alias.

+4

Vedere [il post del blog recente di Aaron Bertrand sull'argomento] (http://sqlblog.com/blogs/aaron_bertrand/archive/2012/01/23/bad-habits-to-kick-using-as-instead- of-for-column-aliases.aspx) - sostiene l'uso di 'SELECT SomeColumnName = .......' su entrambe le opzioni –

+4

C'è un altro parere sull'argomento: [Cattive abitudini a calci: Usare AS invece di = per alias di colonne] (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! Immagino che siamo entrambi seguaci di Aaron Bertrand. :-) –

risposta

4

Preferisco il secondo (utilizzando "AS"). Se funziona in entrambi i modi, basta usare quello che preferisci e usarlo in modo coerente.

3

Non dovrebbe fare alcuna differenza che si utilizza, basta attenersi. Preferisco lo AS personalmente, è un sentimento più specifico.

3

Entrambi dovrebbero funzionare. Scegli quello che preferisci o qualsiasi altra cosa aggiunga alla leggibilità della query. Personalmente di solito alias con "AS", solo uno smidge più leggibile secondo me.

9

I due sono equivalenti per la maggior parte degli scopi. Preferisco la notazione AS esplicita.

Uno dei motivi per cui utilizzo il modulo AS è perché, nel DBMS che utilizzo principalmente, fornisce una misura di protezione contro le nuove parole chiave visualizzate sugli aggiornamenti del sistema. Cioè:

SELECT TestColumn KeyWord 

dove 'parola chiave' diventa una parola chiave in una futura release possono causare problemi, mentre nel particolare sistema, utilizzando:

SELECT TestColumn AS KeyWord 

rimane valida.

Recentemente ho appreso (è stato detto) che Oracle non supporta AS in alias di tabelle.

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

Se ciò è accurato (non l'ho convalidato), allora considero che un errore.

Tuttavia, è una tua scelta; le due notazioni sono equivalenti.

+0

+1 e sì Oracle non consente 'FROM TableName AS T1'. Dato che non rivendicano prestazioni al 100% degli standard, non condivido il tuo punto di vista sul fatto che dovrebbe essere definito un "bug" :-) –

+0

@JackDouglas: per me è un problema ipotetico, e quindi un bug ipotetico (perché non riesco a lavorare direttamente con Oracle). Ma mi avrebbe fatto infuriare le luci del giorno viventi se avessi avuto bisogno di usare Oracle. Tuttavia, si adatta come necessario. Grazie per aver confermato ciò che mi è stato detto di aver detto! –

3

Dipende.

In particolare, dipende dagli standard di codifica dell'ambiente in cui si sta lavorando. Indipendentemente dalle preferenze personali, potresti dover adattare il tuo stile per allinearti agli standard di codifica del gruppo o della squadra su cui stai lavorando.

È più importante che l'SQL abbia lo stesso aspetto del resto dell'SQL che lo circonda per facilitare il test e il debug del codice quando viene consegnato al team di test e, infine, al team di operazioni e manutenzione in produzione.

Problemi correlati