|
SELECT * FROM Customers a
|
bet | 5/10 | Sana | 11.12.2023 | Hajmi | 34,52 Kb. | | #116098 |
Bog'liq BazaSELECT * FROM Customers a
WHERE ‘1990/10/03’ IN
( SELECT ODate FROM Orders b
WHERE a.CNum = b.CNum );
Bu misolda tashqi so‘rovning Cnum maydoni o‘zgargani uchun ichki so‘rov tashqi so‘rovning xar bir satri uchun bajarilishi kerak. Ichki so‘rov bajarilishini talab qiladigan tashqi so‘rov satri joriy satr -kandidat deyiladi. Mutanosib ostki so‘rov bilan bajariladigan baxolash protsedurasi quyidagicha:
1. Tashqi so‘rovda nomlangan jadvaldan satrni tanlash. Bu kelajak satr -kandidat.
2. Tashqi so‘rov FROM jumlasida nomlangan psevdonimda bu satr –kandidat qiymatlarini saqlab qo‘yish.
3. Ostki so‘rovni bajarish. Tashqi so‘rov uchun berilgan psevdonim topilgan xamma joyda joriy satr-kandidat qiymatidan foydalanish. Tashqi so‘rov satr-kandidatlari qiymatlaridan foydalanish, tashqi ilova deyiladi.
4. Tashqi so‘rov predikatini 3 qadamda bajariluvchi ostki so‘rov natijalari asosida baxolash. U chiqarish uchun satr-kandidat tanlanishini belgilaydi.
5. Jadval keyingi satr-kandidatlari uchun protsedurani qaytarish va shu tarzda toki xamma jadval satrlari teshirilib bo‘lmaguncha.
YUqoridagi misolda SQL quyidagi protsedurani amalga oshiradi:
1. U buyurtmachilar jadvalidan Hoffman satrini tanlaydi.
2. Bu satrni joriy satr-kandidat sifatida a – psevdonim bilan saqlaydi.
3. So‘ngra ostki so‘rovni bajaradi. Ostki so‘rov CNum maydonning qiymati a.CNum qiymatiga teng satrlarni topish uchun Buyurtmachilar jadvali xamma satrlarini ko‘rib chiqadi. Xozir a.CNum qiymati 21 ga ya’ni Hoffman satrining CNum maydoni qiymatiga teng. SHundan so‘ng shu satrlarning ODate maydonlari qiymatlari to‘plamini xosil qiladi.
4. SHundan so‘ng asosiy so‘rov predikatida 3 oktyabrdagi qiymat shu to‘plamga tegishliligini tekshiradi. Agar bu rost bo‘lsa Hoffman satrini chiqarish uchun tanlaydi.
5. SHundan so‘ng u butun protsedurani Giovanni satrini satr –kandidat sifatida foydalanib qaytaradi va saqlab qo‘yadi, toki YUuyurtmachilar xamma satri tekshirilib bo‘lmaguncha.
Ba’zida xatolarni topish uchun maxsus yaratilgan so‘rovlardan foydalanish kerak bo‘ladi.
Misol: Quyidagi so‘rov Buyurtmachilar jadvalini ko‘rib chiqib SNum va CNum mos kelishini tekshiradi va mos bo‘lmagan satrlarni chiqaradi.
|
| |