SQL SELECT TOP Kullanımı
SELECT ifadesi veritbanından verileri okumak için kullanılır. Select ifadesi tek başına kullanıldığında veritabanındaki tablo üzerinde bulunan bütün verileri seçer. Ancak binlerce hatta on binlerce kaydın olduğu bir tablodan bütün verileri çekmek veritabanını zorlayacak ve uygulamanın kitlenmesine neden olacaktır. Bunun yerine SELECT TOP ilee belirtilen kadar kayıt seçilir. Select Top ifadesi ile kayıt adedi veya yüzdesi belirtildikten sonra alan adları mutlaka yazılmalıdır. Yazılan alan adlarındaki kayıtlar ekrana gelir. * işareti konulursa bütün alanlar seçilir.
NOT: SELECT TOP ifadesi her veritabanında desteklenmez. Faklı veritabanlarında aynı işi yapan başka ifadeler kullanılır.
Select Top SQL SERVER ve ACCESS Veritabanlarında Kullanım Biçimi
Eğer sadece ilk bir kaç kaydı seçecek isek SELECT TOP ifadesinden sonra seçeceğimiz kayıt adedini belirtiriz.
SELECT TOP kayit_adedi alan_adi1,alan_adi2,… FROM tablo_adi |
Eğer bütün kayıtlar içinden yüzdesel olarak seçim yapacaksakz.
SELECT TOP yuzde_degeri PERCENT alan_adi1, alan_adi2,… FROM tablo_adi |
Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
id | Adi_soyadi | Sehir | Bolum | Sicil No |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
2 | Ayhan ÇETİNKAYA | Kocaeli | İdari İşler Yöneticisi | 2345678 |
3 | Serkan ÖZGÜREL | Erzincan | Bilgi İşlem Sorumlusu | 3456789 |
4 | İlhan ÖZLÜ | İstanbul | Muhasebe | 7677667 |
Örnek1:
SELECT TOP 2 Adi_soyadi, Sehir FROM Personel
Bu kod ile tablodaki Adi_soyadi ve Sehir alanlarındaki kayıtlardan sadece ilk iki tanesi seçilir.
Çıktısı:
Adi_soyadi | Sehir |
Salih ESKİOĞLU | İstanbul |
Ayhan ÇETİNKAYA | Kocaeli |
Örnek2:
SELECT TOP 25 Percent * FROM Personel
Bu örnekte Personel tabosunda bütün alanlar seçilmektedir. Ancak bütün kayıtlardan sadece yüzde 25’i seçilmiştir. Tablomuzda toplam 4 kayıt olduğu için bu kod ile sadece 1 kayıt seçilmiş olur.
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Sicil No |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
Select Top MySQL ve ORACLE Veritabanlarında Kullanım Biçimi
MySQL Kullanım Biçimi: MySQL veritabanlarında ilgili seçim LIMIT ifadesi ile gerçekleştirilmektedir.
SELECT alan_adi1,alan_adi2,… FROM tablo_adi LIMIT kayit_adedi |
Oracle Kullanım Biçimi: ORACLE veritabanlarında WHERE ROWNUM ifadesi ile birlikte kullanılır.
SELECT alan_adi1,alan_adi2,… FROM tablo_adi WHERE ROWNUM <= kayit_adedi |
Örnek3:
SELECT Adi_soyadi FROM Pesonel LIMIT 3
Bu örnekte sadece Adi_soyadi alanındaki ilk 3 kayıt seçilmketedir.
Çıktısı:
Adi_soyadi |
Salih ESKİOĞLU |
Ayhan ÇETİNKAYA |
Serkan ÖZGÜREL |
Örnek4:
SELECT Bolum FROM Pesonel WHERE ROWNUM <= 3
Bu örnekte sadece Bolum alanındaki ilk 3 kayıt seçilmketedir.
Çıktısı:
Bolum |
Bilgi İşlem Sorumlusu |
İdari İşler Yöneticisi |
Bilgi İşlem Sorumlusu |