Ma`lumotlarni o`qish. MB dan ma`lumotlarni o`qish SELECT operatori orqali amalga oshiriladi va u so`rov deyiladi. SQL tili birinchi navbatda so`rovlarni bajarishga mo`ljallangan. SQL so`rovlarini qurish uchun qo`llaniladigan SELECT operatori boshqa SQL operatorlariga nisbatan ancha keng imkoniyatli hisoblanadi. Biz bu imkoniyatlarning ba`zi birlarini keltirib o`tamiz.
SELECT operatori. SELECT operatori berilganlar bazasidan ma`lumotlarni o`qiydi va so`rov natijalarini jadval ko`rinishida qaytaradi. Quyida oddiy so`rovlarga oid bir nechta misollarni keltiramiz:
Misol 1. MB dan barcha talabalar ro`yxatini chiqaring.
SELECT fam, ism, oism, guruh FROM atalaba
id
fam
ism
oism
guruh
1
Karimov
Salim
Xayrievich
11-08 ARX
…
…
…
…
…
135
Olimova
Sevara
Qayumovna
18-10 TMJ
…
…
…
…
…
5435
Abdullaev
Dilshod
16-10 MIIT
…
…
…
…
…
Agar MB ga 5600 ta talaba ma`lumoti kiritilgan bo`lsa, ekranga 5600 ta talabaning kodi, familiyasi, ismi va guruhi ma`lumotlari chaqiriladi.
Misol 2. MB dan barcha talabalar ro`yxatini chiqaring.
SELECT * FROM atalaba
Misol 1 da olingan natija bilan bir xil bo`lgan natijani olamiz.
Misol 3. MB dan ‘12-10 MIIT’ guruhi talabalari ro`yxatini chiqaring.
SELECT fam, ism, oism FROM atalaba WHERE guruh=’12-10 MIIT’
Agar MB ga ‘12-10 MIIT’ guruhining 23 ta talabasi ma`lumoti kiritilgan bo`lsa, ekranga 23 ta talabaning kodi, familiyasi, ismi ma`lumotlari chaqiriladi. Talaba guruhi ma`lumoti chiqarilmaydi, chunki buyruqda guruh atribut qiymatini chiqarish kerakligini ko`rsatmadik.
Misol 4. MB dan ‘12-10 MIIT’ guruhi talabalari ro`yxatini, familiyasini alfavit tartibida tartiblagan holda chiqaring.
SELECT fam, ism, oism FROM atalaba WHERE guruh=’12-10 MIIT’ ORDER BY fam
Agar MB ga ‘12-10 MIIT’ guruhining 23 ta talabasi ma`lumoti kiritilgan bo`lsa, ekranga 23 ta talabaning kodi, familiyasi, ismi ma`lumotlari chaqiriladi. Talaba guruhi ma`lumoti chiqarilmaydi, chunki buyruqda guruh atribut qiymatini chiqarish kerakligini ko`rsatmadik.
Xuddi shu tarzda so`rovlar tuziladi. endi so`rov operatori ifodalari bilan tanishamiz:
SELECT ifodasida SELECT operatori qiymat sifatida qaytaradigan ustunlar ro`yxati vergul bilan ajratilib ko`rsatiladi. Qaytariladigan qiymatlar MB dagi jadval ustunidan olingan qiymat yoki so`rov paytida hisoblanadigan qiymat bo`lishi mumkin. Har bir qaytariladigan qiymatlar uchun so`rov natijalari jadvalida bitta ustun hosil qilinadi.
FROM ifodasida so`rov orqali ma`lumotlari olinadigan jadvallar ro`yxati ko`rsatiladi. Nisbatan murakkabroq so`rovlarda bir necha jadval nomlari bo`ladi.
WHERE ifodasida so`rov natijasi sifatida faqat ayrim qatorlarni chiqarish sharti ko`rsatiladi. Satrlarni saralash uchun izlash shartidan foydalaniladi.
GROUP BY ifodasidan jamlama so`rovlarni hosil qilish maqsadida foydalanamiz. Odatdagi so`rov MB dagi har bir satr uchun so`rov natijasi sifatida bitta satr qaytaradi. Jamlama so`rov esa oldin MBdagi satrlarni aniqlangan alomat bo`yicha guruhlashtiradi. Keyin esa har bir guruhga bitta jamlanma satrni mos qo`yuvchi so`rov natijasini qaytaradi.
HAVING ifodasi GROUP BY ifodasi yordamida tuzilgan guruhlarni biror shartni qanoatlantiruvchilarinigina natija sifatida qaytaradi.
ORDER BY ifodasi bir yoki bir nechta ustunlardagi ma`lumotlar asosida so`rov natijasini tartiblaydi. Agarda bu ifoda ko`rsatilmagan bo`lsa so`rov natijasi tartiblanmagan deyiladi.