Tidak ada perbedaan dalam fungsi yang mendasari kedua jenis aliasing ( as
lawan =
). Apa intinya adalah apa yang Anda sebutkan: Keterbacaan dan pemeliharaan.
Menurut pendapat saya , mantan ( <Expression> as <Alias>
) jauh lebih mudah dibaca karena cukup jelas. Ketika Anda memiliki SELECT ColumnName = 1
saya pikir itu akan sangat mudah untuk kesalahan itu sebagai pengaturan variabel pada malam-malam panjang yang lelah. Anda mungkin salah mengira bahwa sebagai SELECT @ColumnName = 1
dan itu akan menjadi fungsi yang sama sekali berbeda. Oleh karena itu, untuk menghindari kemungkinan kueri "tampilan ganda", atau bahkan lebih buruk ... kesalahan dalam memahami / pengkodean, saya menggunakan SELECT 1 as ColumnName
100% waktu.
Preferensi pribadi, tetapi konsistensi (untuk diri Anda dan dalam tim Anda) adalah raja . Apa pun yang Anda temukan paling mudah, ikuti dan lakukan sepanjang waktu. Tidak ada yang lebih menyebalkan daripada beralih bolak-balik untuk seseorang yang memecahkan masalah / meninjau / memelihara kode.
Cara ketiga yang tidak disebutkan adalah menggunakan <Expression> <Alias>
. Dengan kata lain, cara kedua Anda tanpa as
kata kunci. Saya pikir ini sama buruknya dengan =
simbol. Itu kurang mudah dibaca untuk mendapatkan apa? Tidak mengetik tiga karakter tambahan ( as
dan spasi). Tidak layak.
Untuk tujuan berlebihan, lihat kueri seperti ini:
use AdventureWorks2012;
go
select
[New Name] = Name,
NewDepId = DepartmentID,
GroupName as GName,
ModifiedDate MyModDate
from HumanResources.Department;
Bukan kode yang ingin saya tinjau.