SQL Server’da Where ve Order By Kısımlarında Alias Kullanımı
Herkese merhaba,
Bu yazıda size SQL Server’da Where ve Order By Kısımlarında Alias kullanımından bahsedeceğim.
SQL Server’da kod yazarken Alias yani takma ad ifadelerini Where ve Order By ile kullanmışınızdır. Where ile Alias kullanımında hata alınırken Order By ile hata alınmaz. Bunun nedenini inceleyelim. Örnek kodları aşağıda görmektesiniz. Örnekler Northwind veritabanı kullanılarak yapıldı.
--Where kısmında alias kullanımı (Hatalı) - Invalid column name 'kategoriid' hatası SELECT kategoriler.CategoryID AS kategoriid FROM dbo.Categories kategoriler WHERE kategoriid = 2 --Where kısmında alias kullanımı (Doğru kullanımı) SELECT altsorgu.kategoriid , altsorgu.CategoryName FROM ( SELECT CategoryName , CategoryID AS kategoriid FROM dbo.Categories ) AS altsorgu WHERE altsorgu.kategoriid = 2 --Order by kısmında alias kullanımı SELECT kategoriler.CategoryID AS kategoriid FROM dbo.Categories AS kategoriler ORDER BY kategoriid DESC
SQL Server’da sorgular işlenirken belirli bir sıraya göre işlem yapılır. Bu sıra From -> On -> Where -> Select -> Order By şeklindedir. Sorguda neden hata aldığınıza gelirsek; Where kısmı SQL Server’da Select ifadesinden önce çalıştığı için bize böyle bir hata verir. Order By ifadesi Select ifadesinden sonra çalıştığı için bize böyle bir hata vermez. Where ifadesi ile Alias kullanabilmek için sorgularımızı altsorgu biçiminde revize etmemiz gerekmektedir. Yukarıdaki sorgularda bunların örneklerini görmektesiniz.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.