2種類のエイリアシングの基本的な機能に違いはありません(as
に対して=
)。要約すると、まさにあなたが述べたとおりです:読みやすさと保守性。
私の意見では、前者(<Expression> as <Alias>
)は自明であるため、はるかに読みやすくなっています。あなたが持っているとき、私はSELECT ColumnName = 1
それらの長い疲れた夜に変数を設定することと誤解することはかなり簡単だと思います。あなたはそれをSELECT @ColumnName = 1
完全に異なる機能と誤解するかもしれません。したがって、クエリ「double look」、またはさらに悪いことに...理解/コーディングのエラーの可能性を回避するために、私はSELECT 1 as ColumnName
100%の時間を費やしています。
個人的な好みですが、一貫性(あなた自身とあなたのチーム内)が重要です。あなたが最も簡単だと思うものは何でも、一緒に行き、いつもそれをしてください。コードのトラブルシューティング/レビュー/メンテナンスを行ったり来たりすることほどイライラすることはありません。
3番目の言及されていない方法はを使用すること<Expression> <Alias>
です。言い換えれば、as
キーワードを使用しない2番目の方法です。これは=
シンボルと同じくらい悪いと思います。それは何の利益で読みやすさに欠けていますか?3つの余分な文字(as
およびスペース)を入力しない。それだけの価値はありません。
誇張のために、次のようなクエリを見てください。
use AdventureWorks2012;
go
select
[New Name] = Name,
NewDepId = DepartmentID,
GroupName as GName,
ModifiedDate MyModDate
from HumanResources.Department;
私がレビューしたいコードではありません。