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.

599 Kez Okundu