4-laboratoriya ishi. Har bir talaba o’z mavzusidan kelib chiqib quyida keltirilgan vazifani o’zini ishlayotgan bazasi bo’yicha yoritish kerak



Download 3,6 Mb.
bet7/21
Sana31.05.2023
Hajmi3,6 Mb.
#947040
1   2   3   4   5   6   7   8   9   10   ...   21
EXISTS operatori
EXISTS operatori quyi so'rov qiymatni qaytaradimi yoki yo'qligini tekshirish imkonini beradi. Odatda, bu operator ma'lum bir qator shartni qondirishini ko'rsatish uchun ishlatiladi. Ya'ni, aslida EXISTS operatori qatorlarni qaytarmaydi, faqat ma'lumotlar bazasida berilgan so'rovga mos keladigan kamida bitta qator mavjudligini bildiradi. Hech qanday qator qaytarilmaganligi sababli, bunday operator bilan quyi so'rovlar juda tezdir.

Operator ilovasi quyidagi rasmiy sintaksisga ega:



Masalan, mijozlar jadvalidan buyurtma bergan barcha mijozlarni topamiz:

Yana bir misol - Buyurtmalar jadvalida buyurtma bo'lmagan barcha mahsulotlarni Mahsulotlar jadvalidan topish:

Shuni ta'kidlash kerakki, shunga o'xshash natijaga erishish uchun IN operatoridan ham foydalanishingiz mumkin:

Lekin EXISTS qatorlarni keltirmagani uchun undan foydalanish IN operatoridan foydalanishdan ko‘ra optimalroq va samaraliroq bo‘ladi.

Yashirin jadval qo'shilishi

Turli jadvallardagi ma'lumotlarni umumlashtirish uchun biz standart SELECT buyrug'idan foydalanishimiz mumkin. Aytaylik, bizda quyidagi jadvallar mavjud bo'lib, ular o'zaro munosabatlar bilan bog'langan:




Bu yerda “Mahsulotlar” va “Mijozlar” jadvallari “Buyurtmalar” jadvaliga “birdan ko‘pga” munosabati bilan bog‘langan. Buyurtmalar jadvali ProductId va CustomerId xorijiy kalitlari ko'rinishida mos ravishda Mahsulotlar va mijozlar jadvallaridagi Id ustunlariga havolalarni o'z ichiga oladi. Shuningdek, u sotib olingan mahsulot miqdorini (ProductCount) va qanday narxda sotib olinganini (Narx) saqlaydi. Bundan tashqari, jadval xarid sanasini CreatedAt ustuni sifatida ham saqlaydi.

Ushbu jadvallar quyidagi ma'lumotlarni o'z ichiga oladi:




Keling, ikkita jadvalga qo'shilamiz Buyurtmalar va mijozlar:

Bunday tanlov bilan Buyurtmalar jadvalidagi har bir qator uchun u Mijozlar jadvalidagi har bir qatorga mos keladi. Ya'ni, siz o'zaro bog'liqlikni olasiz. Masalan, Buyurtmalarda uchta qator mavjud va Mijozlarda bir xil uchta qator mavjud, shuning uchun biz 3 * 3 = 9 qatorni olamiz:

Ya'ni, bu holda biz ikkita guruhning to'g'ridan-to'g'ri (kartezian) mahsulotini olamiz. Ammo bu biz ko'rmoqchi bo'lgan natija emas. Bundan tashqari, Buyurtmalarning har bir buyurtmasi barcha mumkin bo'lgan xaridorlar bilan emas, balki Mijozlardan ma'lum bir xaridor bilan bog'liq.

Muammoni hal qilish uchun siz WHERE bandidan foydalanishingiz va Buyurtmalardagi CustomerId maydoni Mijozlarning Id maydoniga mos kelishi sharti bilan qatorlarni filtrlashingiz kerak:



Keling, uchta jadvaldagi Buyurtmalar, Mijozlar va Mahsulotlar bo'yicha ma'lumotlarni birlashtiramiz. Ya'ni, biz barcha buyurtmalarni olamiz va mijoz va tegishli mahsulot haqida ma'lumot qo'shamiz:

Birlashtirish uchun uchta jadval mavjud bo'lganligi sababli, kamida ikkita shart qo'llaniladi. Buyurtmalar asosiy jadval bo'lib qoladi, undan barcha buyurtmalar olinadi va keyin mijoz ma'lumotlari unga Orders.CustomerId = Customers.Id sharti va mahsulot ma'lumotlari Orders.ProductId=Products.Id sharti orqali ulanadi.

Bu holda jadval nomlari kodni sezilarli darajada oshirganligi sababli, jadval taxalluslari yordamida uni qisqartirishimiz mumkin:

Agar taxallusdan foydalanganda ma'lum bir jadvaldagi barcha ustunlarni tanlamoqchi bo'lsangiz, yulduzchadan foydalanishingiz mumkin:


Download 3,6 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   ...   21




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish