Ma’lumotlarni filtrlash (ORDER BY, LIMIT, TOP) — natijani tartiblash va cheklash vositalari. Natijani yosh bo’yicha saralash, eng qimmat 5 ta mahsulotni ko’rsatish yoki alifbo tartibida chiqarish — bularning bari shu buyruqlar orqali bajariladi. Ular hisobotlarni chiroyli va foydali qiladi.
ORDER BY — natijani ustun bo’yicha tartiblaydi. LIMIT (yoki SQL Server’da TOP) — natijadagi qatorlar sonini cheklaydi.
Boshlang’ich jadval
Quyidagi foydalanuvchilar jadvali bilan ishlaymiz:
| id | ism | yosh | shahar |
|---|---|---|---|
| 1 | Farrux | 26 | Toshkent |
| 2 | Master Sherkulov | 30 | Toshkent |
| 3 | Aziz | 22 | Samarqand |
| 4 | Dilnoza | 28 | Buxoro |
ORDER BY — tartiblash
ORDER BY natijani ustun bo’yicha saralaydi. Standart holatda o’sish tartibida (ASC):
SELECT ism, yosh FROM foydalanuvchilar
ORDER BY yosh;
Natija (yosh o’sishi bo’yicha):
| ism | yosh |
|---|---|
| Aziz | 22 |
| Farrux | 26 |
| Dilnoza | 28 |
| Master Sherkulov | 30 |
Qatorlar yosh bo’yicha kichikdan kattaga tartiblandi. Bu ma’lumotni tushunarli ko’rsatishning asosiy usuli.
DESC — kamayish tartibi
DESC bilan teskari (kamayish) tartibida saralanadi:
SELECT ism, yosh FROM foydalanuvchilar
ORDER BY yosh DESC;
Natija (yosh kamayishi bo’yicha):
| ism | yosh |
|---|---|
| Master Sherkulov | 30 |
| Dilnoza | 28 |
| Farrux | 26 |
| Aziz | 22 |
DESC — kattadan kichikka. Bu, masalan, eng katta balansli yoki eng yangi yozuvlarni yuqorida ko’rsatishda ishlatiladi.
LIMIT — qatorlar sonini cheklash
LIMIT natijadagi qatorlar sonini cheklaydi. ORDER BY bilan birga u “eng yuqori N ta” natijani beradi:
SELECT ism, yosh FROM foydalanuvchilar
ORDER BY yosh DESC
LIMIT 2;
Natija (eng katta yoshli 2 ta):
| ism | yosh |
|---|---|
| Master Sherkulov | 30 |
| Dilnoza | 28 |
Avval yosh bo’yicha kamayish tartibida saralandi, so’ng LIMIT 2 faqat dastlabki ikkitasini oldi. Bu “top 5 mahsulot” kabi ro’yxatlarni yaratishning standart usuli.
LIMIT va TOP farqi
Turli bazalar qatorni cheklash uchun turli kalit so’z ishlatadi. Ularni jadvalda ko’ramiz:
| Baza | Kalit so’z | Misol |
|---|---|---|
| MySQL, PostgreSQL, SQLite | LIMIT |
LIMIT 5 |
| SQL Server | TOP |
SELECT TOP 5 ... |
Ikkovi bir xil vazifani bajaradi, faqat sintaksisi farq qiladi. SQL Server’da SELECT TOP 5 ism FROM ... deb yoziladi.
Xulosa
Bu bo’limda ORDER BY bilan tartiblash, ASC/DESC yo’nalishlari, LIMIT bilan qatorlarni cheklash va TOP farqini ko’rib chiqdik. Bu buyruqlar natijani foydali va o’qiladigan qiladi. Keyingi darsda aggregat funksiyalarga o’tamiz.