SQL SELECT TOP Nedir? Kullanımı Nasıldır? Örneklerle Anlatım
SQL SELECT TOP Maddesi
SELECT TOP komutu, çağırılacak verilerin sayısını belirtmek için kullanılır. Bu komut binlerce veri içeren tablolarda kullanışlıdır. Çok sayıda kaydın çağırılması performansı etkileyebilir.
NOT: Tüm veritabanı sistemleri SELECT TOP komutunu desteklemez. MySQL sınırlı sayıda veri seçmek için LIMIT komutunu desteklerken, Oracle ROWNUM kullanır.
SQL Server TOP kullanımı:
SELECT TOP sayı |percent sütun (s)
FROM tablo_adı
WHERE Koşul;
MySQL LIMIT kullanımı:
SELECT sütun (s)
FROM tablo_adı
WHERE Koşul
LIMIT sayı;
Oracle ROWNUM kullanımı:
SELECT sütun(s)
FROM tablo_adı
WHERE ROWNUM <= sayı;
Örnek veritabanı üzerinde kullanalım.
KullaniciID |
Ad |
Soyad |
Adres |
Sehir |
Postakodu |
Ulke |
1 |
Safa |
Dedeoğlu |
Necmettin Erbakan Cad. no 8/1 |
İstanbul |
34000 |
Türkiye |
2 |
Fatih |
Turab |
İskele Cad. hastane sok. |
Artvin |
08300 |
Türkiye |
3 |
John |
Doupoint |
Claremont Rd no:8/3 |
Newcastle |
NE2 4AA |
İngiltere |
4 |
Gustavo |
Alfaro |
Cuero y Caicedo, Quito |
New York |
170129 |
Amerika |
5 |
Abel |
Gigli |
Dagmada Waaberi 324/5 |
Moskova |
Jh09010 |
Rusya |
6 |
Xiao |
Chu |
Unnamed Road |
Pekin |
Jk07320 |
Çin |
7 |
Osman |
Ebuselim |
Shara Zaviya Dahmani PO:928 |
Doha |
243512 |
Katar |
8 |
Frank |
Walter |
Trudering-Riem 326/3 |
Münih |
81825 |
Almanya |
SQL TOP, LIMIT ve ROWNUM Örnekleri
Aşağıdaki SQL komutu, ”Musteriler” tablosundaki ilk üç kaydı seçer.
SELECT TOP 3 * FROM Musteriler;
Aşağıdaki SQL komutu, LIMIT parametresini kullanarak aynı sonucu elde eder.
SELECT * FROM Musteriler
LIMIT 3;
Aşağıdaki SQL komutu, ROWNUM parametresini kullanarak aynı sonucu elde eder.
SELECT * FROM Musteriler
WHERE ROWNUM <= 3;
SQL TOP PERCENT Örneği
Aşağıdaki SQL komutu, ”Musteriler” tablosundaki kayıtların %50’sini seçer.
SELECT TOP 50 PERCENT * FROM Musteriler;
WHERE ile koşul ekleme
Aşağıdaki SQL komutu, “Türkiye “olduğu “Musteriler ”tablosundaki ilk üç kaydı seçer.
SELECT TOP 3 * FROM Musteriler
WHERE Ulke ='Türkiye';
Aşağıdaki SQL komutu, LIMIT parametresini kullanarak aynı sonucu elde eder.
SELECT * FROM Musteriler
WHERE Ulke='Türkiye'
LIMIT 3;
Aşağıdaki SQL komutu, ROWNUM parametresini kullanarak aynı sonucu elde eder.
SELECT * FROM Musteriler
WHERE Ulke ='Türkiye' AND ROWNUM <= 3;