SQL TOP, LIMIT, FETCH FIRST veya ROWNUM Cümlesi
SQL SELECT TOP Cümlesi
Yan SELECT TOP
tümce, döndürülecek kayıt sayısını belirtmek için kullanılır.
Yan SELECT TOP
tümce, binlerce kayıt içeren büyük tablolarda kullanışlıdır. Çok sayıda kayıt döndürmek performansı etkileyebilir.
Not: Tüm veritabanı sistemleri
SELECT TOP
maddeyi desteklemez. MySQL, LIMIT
sınırlı sayıda kayıt seçmek için yan tümceyi desteklerken Oracle ve .
FETCH FIRST n ROWS ONLY
ROWNUM
SQL Server / MS Access Sözdizimi:
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;
MySQL Sözdizimi:
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;
Oracle 12 Sözdizimi:
SELECT column_name(s)
FROM table_name
ORDER BY
column_name(s)
FETCH FIRST number ROWS ONLY;
Eski Oracle Sözdizimi:
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;
Eski Oracle Sözdizimi (ORDER BY ile):
SELECT *
FROM (SELECT column_name(s) FROM table_name
ORDER BY column_name(s))
WHERE ROWNUM <= number;
Demo Veritabanı
Aşağıda, Northwind örnek veritabanındaki "Müşteriler" tablosundan bir seçim bulunmaktadır:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
SQL TOP, LIMIT ve FETCH FIRST Örnekleri
Aşağıdaki SQL ifadesi, "Müşteriler" tablosundan ilk üç kaydı seçer (SQL Server/MS Access için):
Örnek
SELECT TOP 3 * FROM Customers;
Aşağıdaki SQL ifadesi MySQL için eşdeğer örneği gösterir:
Örnek
SELECT * FROM Customers
LIMIT 3;
Aşağıdaki SQL ifadesi, Oracle için eşdeğer örneği gösterir:
Örnek
SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;
SQL ÜST PERCENT Örneği
Aşağıdaki SQL ifadesi, "Müşteriler" tablosundan kayıtların ilk %50'sini seçer (SQL Server/MS Access için):
Örnek
SELECT TOP 50 PERCENT * FROM Customers;
Aşağıdaki SQL ifadesi, Oracle için eşdeğer örneği gösterir:
Örnek
SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;
NEREDE BİR CÜMLE EKLE
Aşağıdaki SQL ifadesi, ülkenin "Almanya" olduğu (SQL Server/MS Access için) "Müşteriler" tablosundan ilk üç kaydı seçer:
Örnek
SELECT TOP 3 * FROM Customers
WHERE Country='Germany';
Aşağıdaki SQL ifadesi MySQL için eşdeğer örneği gösterir:
Örnek
SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;
Aşağıdaki SQL ifadesi, Oracle için eşdeğer örneği gösterir:
Örnek
SELECT * FROM Customers
WHERE Country='Germany'
FETCH FIRST 3 ROWS ONLY;