SQL - TOP, LIMIT veya ROWNUM İfadesi
SQL TOP cümlesi, bir tablodan bir TOP N sayı veya yüzde X kayıt almak için kullanılır.
Note- Tüm veritabanları TOP maddesini desteklemiyor. Örneğin MySQL,LIMIT Oracle, sınırlı sayıda kaydı alırken ROWNUM sınırlı sayıda kaydı getirme komutu.
Sözdizimi
Bir SELECT ifadesiyle TOP cümlesinin temel sözdizimi aşağıdaki gibi olacaktır.
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE [condition]
Misal
Aşağıdaki kayıtlara sahip MÜŞTERİLER tablosunu düşünün -
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
Aşağıdaki sorgu, CUSTOMERS tablosundan ilk 3 kaydı getiren SQL sunucusundaki bir örnektir.
SQL> SELECT TOP 3 * FROM CUSTOMERS;
Bu, aşağıdaki sonucu verecektir -
+----+---------+-----+-----------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+---------+-----+-----------+---------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+---------+-----+-----------+---------+
MySQL sunucusu kullanıyorsanız, işte eşdeğer bir örnek -
SQL> SELECT * FROM CUSTOMERS
LIMIT 3;
Bu, aşağıdaki sonucu verecektir -
+----+---------+-----+-----------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+---------+-----+-----------+---------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+---------+-----+-----------+---------+
Bir Oracle sunucusu kullanıyorsanız, aşağıdaki kod bloğunun eşdeğer bir örneği vardır.
SQL> SELECT * FROM CUSTOMERS
WHERE ROWNUM <= 3;
Bu, aşağıdaki sonucu verecektir -
+----+---------+-----+-----------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+---------+-----+-----------+---------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+---------+-----+-----------+---------+