SELECT top
SELECT TOP klauzasi, qaytarilishi kerak bo'lgan yozuvlar sonini belgilash uchun ishlatiladi.
SQL TOP, LIMIT, FETCH FIRST yoki ROWNUM Klauzalari
SQL SELECT TOP Klauzasi
SELECT TOP
klauzasi, qaytarilishi kerak bo'lgan yozuvlar sonini belgilash uchun ishlatiladi. Bu katta ma'lumotlar bazalari bilan ishlaganda, masalan, minglab yozuvlari bo'lgan jadvallar bilan ishlashda foydalidir. Katta miqdordagi yozuvlarni qaytarish, dastur samaradorligiga ta'sir ko'rsatishi mumkin.
Misol: Faqat "Customers" jadvalidan birinchi 3 yozuvni tanlash:
Eslatma: Har bir ma'lumotlar bazasi tizimi SELECT TOP
klauzasini qo'llab-quvvatlamaydi. MySQL LIMIT
klauzasini, Oracle esa FETCH FIRST n ROWS ONLY
va ROWNUM
klauzalarini ishlatadi.
Sintaksislar
- SQL Server / MS Access Sintaksisi:
- MySQL Sintaksisi:
- Oracle 12 Sintaksisi:
- Eski Oracle Sintaksisi:
Demo Ma'lumotlar Bazasi
Customers jadvalidan misollar:
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 |
LIMIT
MySQL uchun ekvivalent misol:
FETCH FIRST
Oracle uchun ekvivalent misol:
SQL TOP PERCENT Misoli
"Customers" jadvalidan birinchi 50% yozuvlarini tanlash (SQL Server/MS Access):
Oracle uchun ekvivalent misol:
WHERE Klauzasini Qo'shish
"Customers" jadvalidan mamlakati "Germany" bo'lgan birinchi uchta yozuvni tanlash:
- SQL Server/MS Access:
- MySQL:
- Oracle:
ORDER BY Kalit So'zini Qo'shish
Natijani tartibga solib, tartiblangan natijadan birinchi 3 yozuvni qaytarish.
- SQL Server va MS Access:
- MySQL:
- Oracle: