SQL SELECT — ustunlarni tanlash
Muhitni sozlab, namuna bazani yukladingiz. Endi undan
ma’lumot olishni o’rganamiz. Buning asosiy buyrug’i — SELECT. Bu darsda
jadvaldan qaysi ustunlar kerakligini ko’rsatishni ko’ramiz.
Barcha misollar namuna bazadagi mahsulotlar jadvali ustida ishlaydi:
| id | nom | narx | soni | turi |
|---|---|---|---|---|
| 1 | Olma | 8000 | 50 | meva |
| 2 | Non | 3000 | 120 | non |
| 3 | Sut | 12000 | 30 | sut mahsuloti |
| 4 | Choy | 15000 | 40 | ichimlik |
| 5 | Banan | 14000 | 25 | meva |
| 6 | Qatiq | 9000 | 0 | sut mahsuloti |
| 7 | Suv | 4000 | 200 | ichimlik |
| 8 | Guruch | 18000 | 60 | don |
SELECT * — barcha ustunlar
* (yulduzcha) belgisi “barcha ustunlar” degani. Butun jadvalni olish
uchun:
SELECT * FROM mahsulotlar;
Bu jadvalning barcha ustuni va barcha qatorini qaytaradi — yuqoridagi
sakkiz qatorning o’zi. FROM — qaysi jadvaldan olishni bildiradi.
O’zingiz ishga tushirib ko’ring — so’rovni tahrirlashingiz ham mumkin:
Aniq ustunlarni tanlash
Ko’pincha barcha ustun kerak emas. * o’rniga ustun nomlarini vergul bilan
yozsangiz, faqat o’shalar qaytadi:
SELECT nom, narx FROM mahsulotlar;
Natija — faqat ikki ustun:
| nom | narx |
|---|---|
| Olma | 8000 |
| Non | 3000 |
| Sut | 12000 |
| Choy | 15000 |
| Banan | 14000 |
| Qatiq | 9000 |
| Suv | 4000 |
| Guruch | 18000 |
Qatorlar soni o’zgarmadi (hali hammasi) — faqat ustunlar qisqardi.
Ustunlar tartibi
Ustunlarni qaysi tartibda yozsangiz, natijada ham shu tartibda chiqadi — jadvaldagi asl tartib shart emas:
SELECT narx, nom FROM mahsulotlar;
Natija — endi avval narx, keyin nom:
| narx | nom |
|---|---|
| 8000 | Olma |
| 3000 | Non |
| … | … |
Nega aniq ustun tanlanadi
SELECT * qulay, lekin amalda ko’pincha aniq ustunlar yoziladi. Sabablari:
- Tezlik — katta jadvalda keraksiz ustunlarni tashish so’rovni sekinlashtiradi.
- Aniqlik — natijada faqat kerakli ma’lumot bo’ladi, ko’z chalg’imaydi.
- Barqarorlik — jadvalga yangi ustun qo’shilsa,
*uni ham tortadi; aniq ro’yxat esa o’zgarmaydi.
Amaliy mashq
Ustunlarni tanlashni mashq qiling:
mahsulotlardan faqatnomustunini oling;nomvaturini birga oling;- ustunlar tartibini almashtiring:
turi, nom; mijozlardanismvashaharni oling;- mavjud bo’lmagan ustun nomini yozing — qanday xato chiqadi?
3-qadamda natija ustunlari tartibi o’zgardimi?
Qisqacha xulosa
SELECT * FROM jadval— jadvalning barcha ustunini oladi.SELECT ustun1, ustun2 FROM jadval— faqat ko’rsatilgan ustunlarni.- Ustunlar natijada siz yozgan tartibda chiqadi.
- Aniq ustun tanlash tezroq, aniqroq va barqarorroq —
*dan afzal. - Kalit so’zlar katta harfda yoziladi; so’rov
;bilan tugaydi.
Keyingi darsda WHERE bilan qatorlarni filtrlashni
ko’ramiz — ustunlarni emas, endi shartga mos qatorlarni ajratamiz.