56 SQL Standart Sonuçları Limitleme
SQL:2008’in söz dizimi aşağıdaki gibidir, ne yazık ki sqlite bu söz dizimini desteklemez, ama postgres, DB2, oracle 12c+, sql server 2012+ desteklemektedir.
OFFSET start { ROW | ROWS }
FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLYÖrnek:
Oracle
SELECT * FROM "Customer" FETCH FIRST 10 ROWSSQL-server
fetch seçenekleri sql server’da ORDER BY’ın argümanlarıdır. ORDER BY olmadan çalışmazlar.
SELECT * FROM Customer
order by CustomerId
OFFSET 0 ROWS
FETCH NEXT 10 ROWS ONLYBana göre, bu sözdizimi çok hantaldır. Ayrıca, ofset kullanımı çok sorunludur. Bakınız offset’e hayır.
Ne yazık ki, veritabanlarına özgü LIMIT ve TOP anahtar kelimeleri daha kullanışlu ve daha güçlüdür. Bunları kullanın.
Bu kullanım standardların her zaman daha iyi olmadığına güzel bir örnektir.