Reja: Quyi so`rovlar bo`yicha tushunchalar


Download 14.14 Kb.
Sana18.06.2023
Hajmi14.14 Kb.
#1564582
Bog'liq
Hujjat (2)


5-BOB. MURAKKAB SQL SO`ROVLAR VA TASAVVURLAR
Mavzu:15. SQL da murakkab va ichki so`rovlar
Reja:
1. Quyi so`rovlar bo`yicha tushunchalar
2. Quyi so`rovlarga talablar va turlari
3. Bir qatorli quyi so`rovlar
4. Ko`p qatorli quyi so`rovlar
5. Korrelyatsion (mutanosib) quyi so`rovlar
1. Quyi so`rovlar bo`yicha tushunchalar
Amaliyotda oddiy SQL so`rovlari orqali MB ma`lumotlarini qayta ishlab, yetarli darajadagi hisobotlarni chiqarish imkoniyati kam. MBda bir nechta jadvallarni birgalikda qayta ishlash, guruhli amallarni bajarish, to`plamlar ustida natijalar olish SQL da murakkab so`rovlar hisoblanadi. Murakkab so`rovlar qatoriga asosan so`rov ichida so`rovlar yoki so`rov osti so`rovlar, quyi yoki qism so`rovlar ham ishlatiladi.. Quyi so`rovlar (podzapros, subquery) asosan SELECT konstruktsiyasining SELECT, FROM, WHERE va HAVING bo`limlarda ishlatilib, ORDER BY va GROUP BY bo`limlarida qo`llanish mumkin emas. Shuningdek, quyi so`rovlar SELECT, INSERT, UPDATE, DELETE operatorlari ichida yoki boshqa so`rov ichida joylashishi mumkin. Ko`pchilik hollarda quyi so`rovlar SELECT operatorini WHERE bo`limida ishlatiladi. Quyi so`rovlar bilan solishtirish amallari ( = | <> | < | <= | > | >= ) qo`llanish mumkin bo`lib, u albatta taqqoslash amalining o`ng tomonida joylashadi. Taqqoslash operatorlari o`z o`rnida IN, ANY, ALL yoki EXISTS kabi ko`p qatorli operatorlar bo`lishi ham mumkin. Qism so`rovlar aytilishi jihatdan ikki qismdan iborat: ichki (inner query) va tashqi so`rov (outer query). Ichki so`rovlar asosiy SQL so`rovi tarkibida qavs ichiga yozilgan boshqa SQL so`rovdir. Ichki so`rov o`z navbatida tartib bo`yicha yana ichki so`rovlardan iborat bo`lishi mumkin. Tashqi so`rov bir yoki bir nechta ichki so`rovlarni qamrab oladi. Ichki so`rov tashqi so`rovdan oldin bajarilib, uning natijasi tashqi so`rovga uzatiladi.
2. Quyi so`rovlarga talablar va turlari
Qism so`rovlar tuzishda quyidagi ko`rsatmalarga amal qilish lozim:
 Qism so`rovlar qavs ichida berilishi shart;
 Qism so`rov taqqoslash operatoring o`ng tomonida joylashadi;
 Qism so`rov ichida natijalarni manipulyatsiya (o`zgartirib)
bo`lmaydi. Shuning uchun quyi so`rov tarkibida ORDER BY
ishlatilmaydi;
 Asosiy (tashqi) so`rovda ORDER BY ishlatish mumkin;
 Bir qatorli qism so`rovlarda bittalik opertorlar ishlatiladi. Ya`ni, bitta qiymat qaytaruvchi qism so`rov oldiga bittalik taqqoslash operatorlari qo`llaniladi;
 Agar ichki so`rov tashqi so`rovga null qiymatini qaytarsa, tashqi so`rovdagi WHERE kalit so`zida taqqoslash operatori ishlatilganda birorta qator qaytarmaydi.
Quyi so`rovlarning bir nechta turlari mavjud:
- Bir qatorli quyi so`rovlar: 0 yoki 1 qator qiymati qaytariladi.
- Ko`p qatorli quyi so`rovlar: 1 yoki undan ko`p qator qiymatini
qaytaradi.
- Korrelyatsion qism so`rovlar: tashqi so`rovning bir yoki bir nechta ustunlariga murojatlar amalga oshiriladi.
- Ichki quyi so`rovlar: quyi so`rovlar boshqa bir quyi so`rov ichida qo`llaniladi.
Odatda INSERT operatori konstruktsiyasida ma`lumot kiritiluvchi jadvalga (ustunlari ko`rsatilgan bo`lishi mumkin) VALUES kalit so`zidan keyin mos qiymatlar to`plami kiritiladi. Qism so`rovlar bilan jadvalga ma`lumot kiritishda VALUES kalit so`zi ishlatilmaydi.
UPDATE operatorida bir qatorli qism so`rovlardan qaytarilgan natijani ma`lum shartlar yangilanuvchi ustunga berish mumkin.
Download 14.14 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling