SQL SERVER’DA VERİLERİN SORGULANMASI-2

Begüm Yazıcı 👩🏻‍💻
3 min readFeb 20, 2019

ORDER BY OPERATÖRÜ

Order by operatörü yazdığımız select ifadesinden dönen sonucun bize gösterilmeden önce istediğimiz şekilde sıralanmasını sağlar.

Yukarıdaki sorgumuzda order by operatörü kullanılmamasına rağmen sorgu sonucumuz DepartmentID’ye göre sıralanmıştır. Bunun sebebi SQL Server’ın veriye en hızlı hangi şekilde erişirse o sırada verileri sıralayıp göstermesidir.

Yukarıdaki sorgumuzda ‘Name’ kolonuna göre sıralama yapılmıştır.Sıralama a-z’ye doğru yapılmıştır. Sıralamada ‘asc(ascending)’ anahtar sözcüğü kullanılırsa yine aynı sonuç gösterilecektir.

Sorgumuzun z-a’ ya doğru sıralama yapılmasını istersek ‘des(descending)’ anahtar sözcüğünü kullanmalıyız.

Order by operatöründen sonra birden fazla kolon, aralarına virgül konularak yazılabilir. Bu durumda ilk yazılan kolona göre sıralama yapılır eğer ilk kolona göre aynı olan ifade olursa bu sefer ikinci kolona göre sıralama yapılır.

NEWID() sistem fonksiyonu her seferinde random bir değer üretir ve sorgu her çalıştırıldığında farklı bir sonuç kümesi üretir.

TOP OPERATÖRÜ

Çok fazla kaydın olduğu tablolardan veriler sorgulanırken tüm kayıtları göstermek uzun sürebilir bu yüzden belli sayıda kaydı göstermek istediğimizde ‘TOP’ operatörü kullanılır.

Yukarıdaki sorgumuzun sonucunda 5 kayıt göstermek istediğimiz için Top 5 ifadesini kullandık.

Top operatörü ile sayı kullanabileceği gibi toplam kayıtların yüzdelik kısmı da sonuç setinde gösterilebilmektedir. Bu kullanımın avantajı ise her seferinde kaç kayıt olduğunu hesaplama işlemini Sql Server’ın bizim yerimize hesaplıyor olmasıdır.Aşağıdaki sorguda 101 kayıt varken Top 2 percent ifadesi ile kullanıldığında sonuç setinde 3 kayıt olacaktır. Kullanımı aşağıdaki gibidir;

Top operatörü genellikle order by operatörü ile birlikte kullanılır. Örneğin sınıftaki en yüksek notların sıralandığı sorguda en yüksek not alan 3 öğrenciyi göstermek istenildiğinde kullanılabilir. Örnek kullanımı aşağıdaki gibidir;

Umarım herkes için faydalı bir yazı olmuştur.

--

--