Tarayıcınız JavaScript! desteklememektedir.

Sql Top & Top Percent Kullanimi

Merhaba Arkadaslar,

SQL Sorgularimizda bazi kisitlamalarimiz, sartlarimiz, kosullarimiz olur. where,top,order by,max,min,avg,sum vs.

Her birinin farkli kullanim amaçlari var.

Bu arada sunu belirtmek istiyorum. Aksini belirtmedigimiz sürece, MSSql CaseIncencitive(Büyük-Küçük harf duyarsiz) yapiya sahiptir. Dolayisi ile (TOP,top,tOP,Top) büyük-küçük harf kullanimlarimiz bizi hataya düsürmeyecektir.

Gelelim TOP ve TOP Percent kullanimina.

TOP Kullanimi

TOP, Yapacagimiz sorguda istedigimiz kadar sonucun gelmesini saglar. Eger sonucunda order by kullanmazsak standart olarak belirttigimiz kadar kaydi bastan sona getirecektir.(Ilk eklenen kayittan son eklenen kayita dogru)

Syntax'i su sekilde;

Select TOP IstedigimizKayitSayisi KolonAdi From TabloAdi

Kafaniz karismasin, hemen gerçek bir örnek yapalim.

Select TOP 10 * From Employees

Yukaridaki sorgu, Northwind veritabaninin Employees tablosundaki ilk kayittan son kayita dogru 10 sonucu getirecektir. 

Pekala, biz sondan basa dogru getirmesini isteseydik? O zaman sonuna order by yazmamiz gerekecekti. Söyle ki;

Select TOP 10 * From Employees order by EmployeeID Desc

Hemen yukaridaki sorguyu açiklayayim:

Employees tablosundan 10 tane kaydi, sondan basa dogru getir.
 

TOP PERCENT Kullanimi

Percent'in kelime anlamindan da anlasilacagi gibi, SQL Sorgularimizda belirttigimiz yüzde kadar sonucun gelmesini saglar.

Mesela söyle bir senaryomuz olsaydi;
Bir sirket bize takip otomasyonu yaptirdi ve bir bölümünde bizden istenen su: Toplam satislarin yüzde 10'unun görüntülenmesi. Olmaz ya, diyelim böyle bir istek var. Biz bunu sadece TOP ile yapabilir miydik? Imkansiz degil, söyle ki, DataTable yardimiyla toplam sonucu bir degiskene alip, orada yüzde hesaplamasini yapar, degiskendeki sonucu TOP ile gösterebilirdik. Ama bu hem zaman kaybina sebep olacakti hemde performans kaybina.

TOP Percent Syntax

Select TOP YuzdeSayisi KolonAdi from TabloAdi

TOP Percent ile çok daha kolay yapabiliriz. Söyle ki;

 Select TOP  10 Percent * from Employees order by EmployeeID DESC

Yukaridaki sorgu su anlama gelmekte; Employees tablosunda son eklenen kayittan baslayarak toplam kayit sayisinin yüzde 10'unu getir.

Arkadaslar anlamadiginiz yer olursa, yorum yazmaniz yeterli. 

Kod'la kalin...