2012-01-25 12 views
6

Który jest najlepszy?Czy lepiej używać aliasów kolumn z słowem kluczowym AS lub bez niego?

Select TestColumn TC 

lub

Select TestColumn AS TC 

wolę pierwszy z nich, ale nie jestem pewien, czy jest to nowoczesny sposób deklarowania alias.

+4

Zobacz [Ostatni wpis Aaron Bertrand na blogu na ten temat] (http://sqlblog.com/blogs/aaron_bertrand/archive/2012/01/23/bad-habits-to-kick-using-as-instead- of-for-column-aliases.aspx) - zaleca użycie 'SELECT SomeColumnName = .......' w obu opcjach –

+4

Istnieje inna opinia na temat: [Złe nawyki do kopnięcia: Używanie AS zamiast = dla aliasów kolumnowych) (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! Chyba jesteśmy zwolennikami Aarona Bertranda. :-) –

Odpowiedz

4

Preferuję drugi (używając "AS"). Jeśli działa w dowolny sposób, po prostu użyj tego, co lubisz i używaj go konsekwentnie.

3

Nie powinno to zrobić żadnej różnicy, której używasz, po prostu trzymaj się jej. Wolę osobiście, AS, bardziej specyficzne uczucie.

3

Obie powinny działać. Wybierz, co lubisz, lub cokolwiek poczujesz, dodaje czytelności zapytania. Osobiście zwykle pseudonim z "AS", tylko smidge bardziej czytelny według mnie.

9

Dwa są równoważne do większości celów. Preferuję wyraźną notację AS.

Jednym z powodów, dla których korzystam z formularza AS, jest fakt, że w DBMS, którego używam głównie, zapewnia on ochronę przed nowymi słowami kluczowymi pojawiającymi się w uaktualnieniach systemu. Czyli:

SELECT TestColumn KeyWord 

gdzie 'keyword' staje się kluczowe w przyszłej wersji może powodować problemy, podczas gdy w danym systemie, używając:

SELECT TestColumn AS KeyWord 

pozostaje ważny.

Niedawno dowiedziałem się (powiedziano mi), że Oracle nie obsługuje AS w aliasach tabel.

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

Jeśli jest to poprawne (nie sprawdziłem poprawności), to uważam to za błąd.

Jest to jednak twój wybór; te dwie notacje są równoważne.

+0

+1 i tak Oracle nie zezwala na 'FROM TableName AS T1'. Biorąc pod uwagę, że nie twierdzą oni, że są w 100% zgodne ze standardami, nie podzielam twojego zdania, że ​​powinien on być nazwany "błędem" :-) –

+0

@JackDouglas: Dla mnie jest to hipotetyczny problem, a więc hipotetyczny błąd (ponieważ nie mam do czynienia z Oracle. Ale rozwaliłoby to moje żywe światła dzienne, gdybym potrzebowała korzystać z Oracle. Jednak dostosowuje się w razie potrzeby. Dziękuję za potwierdzenie tego, co zapamiętałem! –

3

To zależy.

Dokładniej, zależy to od standardów kodowania dla środowiska, w którym pracujesz. Niezależnie od osobistych preferencji, być może będziesz musiał dostosować swój styl do standardów kodowania grupy lub zespołu, nad którym pracujesz.

Ważniejsze jest to, że twój SQL ma taki sam wygląd i atmosferę, jak reszta SQL wokół niego, aby ułatwić testowanie i debugowanie twojego kodu, kiedy jest ono przekazywane do zespołu testującego, a ostatecznie do zespołu operacji i konserwacji w produkcji.

Powiązane problemy