Maruza: union ifodasidan foydalanish


Download 20.16 Kb.
bet1/3
Sana18.06.2023
Hajmi20.16 Kb.
#1555714
  1   2   3
Bog'liq
Maruza


Maruza: UNION ifodasidan foydalanish.

  1. SQLda UNION operatori.

  2. UNION ma'lumotlarni saqlash

SQLda UNION operatori SQL so'rovlari orqali qaytariladigan ikki qatorlar to'plamini birlashtirish uchun ishlatiladi. Ikkala so'rov ham bir xil sonli ustunlarni qaytarishi kerak va bir xil tartibli ustunlar mos keladigan ma'lumotlar turlariga ega bo'lishi kerak. Natija birinchi (chap) so'rovning tuzilishini (ustunlarning nomlari va turlarini) oladi, ya'ni operatsiya simmetrik emas.
Bir nechta so'rovlarni ketma-ket birlashtirganda, natija chapdan o'ngga ketma-ket hisoblanadi.
Birlashtirilgan so'rovlarda ma'lumotlar olinadigan ustunlarning ma'lumotlar turlari mutlaqo bir xil bo'lishi shart emas, lekin yashirin konvertatsiya orqali mos bo'lishi kerak. Agar ma'lumotlar turlari bir-biridan farq qiladigan bo'lsa, natijada olingan ma'lumotlar turi ma'lumotlar turining ustuvorlik qoidalariga asoslanib aniqlanadi (ma'lum bir ma'lumotlar bazasi uchun). Agar turlar mos kelsa, lekin aniqligi, masshtabi yoki uzunligi bo'yicha farq qilsa, natija ifodalarni birlashtirish uchun qo'llaniladigan qoidalar asosida aniqlanadi (ma'lum bir DBMS uchun)[2]. DATA va BINARY kabi ANSI tomonidan belgilanmagan turlar odatda bir xil nostandart turdagi boshqa ustunlarga mos kelishi kerak.
Microsoft SQL Serverda XML ma'lumotlar turi ustunlari ekvivalent bo'lishi kerak. Barcha ustunlar XML sxemasida aniqlangan turga ega bo'lishi yoki yozilmagan bo'lishi kerak. Yozilgan ustunlar XML sxemalarining bir xil to'plamiga murojaat qilishi kerak.
Muvofiqlikning yana bir cheklovi har qanday birlashma ustunida null qiymatlarni (NULL) taqiqlashdir va bu qiymatlar boshqa birlashma so'rovlaridagi barcha mos ustunlar uchun ham taqiqlangan bo'lishi kerak, chunki null qiymatlar (NULL) NOT NULL bilan taqiqlangan. cheklash. Bundan tashqari, siz quyi so'rovlarda UNION dan foydalana olmaysiz va birlashmadagi so'rovning SELECT bandida jamlash funktsiyalaridan foydalana olmaysiz (ammo, aksariyat ma'lumotlar bazalari bu cheklovlarni e'tiborsiz qoldiradi)
UNION ma'lumotlarni saqlash dasturlarida juda foydali bo'lishi mumkin, bu erda jadvallar kamdan-kam hollarda mukammal normallashtiriladi. Oddiy misol: ma'lumotlar bazasida bir xil tuzilishga ega, ammo ishlash uchun ajratilgan sales2005 va sales2006 jadvallari mavjud. UNION so'rovi ikkala jadval natijalarini birlashtirishga imkon beradi.
Shuni ham ta'kidlash joizki, UNION ALL shunchaki UNION dan tezroq, chunki sukut bo'yicha UNION operatoridan foydalanganda qo'shimcha deduplikatsiya amalga oshiriladi, lekin UNION ALL dan foydalanilganda bunday emas.
Ushbu maqola SQL Union operatoriga chuqur kirib boradi, uning ko'p ishlatilishini misollar bilan tavsiflaydi va Union va Union All o'rtasidagi farqlar kabi ba'zi umumiy savollarni o'rganadi.
Haqiqiy dunyo ma'lumotlariga bo'lgan talablarni qondirish uchun biz ma'lumotlarni tahlil qilish yoki yangi ma'lumotlar to'plamlarini yaratishimiz uchun bir nechta ma'lumotlar manbalaridan olingan natijalar to'plamini birlashtirishimiz kerak bo'lishi mumkin. Ma'lumotlar to'plamlari bir xil bo'lishi mumkin, ammo ular turli jadvallarga murojaat qilishlari mumkin. Ma'lumotlarni bitta so'rovda birlashtirishning usuli bormi? O'rnatish operatorlari hayotiy variantmi? Keling, boshlaylik va mavjud operatorlarning ba'zilari ushbu umumiy muammolarni hal qilishda bizga qanday yordam berishini ko'rib chiqamiz.
The Union operator combines the results of two or more queries into a distinct single result set that includes all the rows that belong to all queries in the Union. In this operation, it combines two more queries and removes the duplicates.
Union vs Union All-ni ko'rib chiqsak, ular juda o'xshash, ammo ular ishlash natijalari nuqtai nazaridan ba'zi muhim farqlarga ega.

Birlashma operatori ikki yoki undan ortiq so'rovlar natijalarini Ittifoqdagi barcha so'rovlarga tegishli barcha qatorlarni o'z ichiga olgan yagona natijalar to'plamiga birlashtiradi. Oddiy qilib aytganda, u ikki yoki undan ortiq qatorlarni birlashtiradi va dublikatlarni saqlaydi.


Har bir satrdagi ifodalar yoki har bir so'rovda aniqlangan ustunlar soni bir xil tartibda bo'lishi kerak
Keyingi SQL bayonoti qatorlari birinchi so'rovning ma'lumotlar turiga mos kelishi kerak
Xuddi shu bayonotda boshqa to'plam operatorlarini qurish uchun qavslarga ruxsat beriladi
ORDER BY bandiga ega bo'lish mumkin, lekin bu SQL ning oxirgi bayonoti bo'lishi kerak
GROUP BY va HAVING bandlari individual so‘rovga qo‘llanilishi mumkin
Eslatma:
Ushbu Set operatorlarining barchasi dublikatlarni olib tashlaydi, Union All operatoridan tashqari
Chiqish ustunlari nomlari birinchi so'rovdan, ya'ni SELECT iboralarini har qanday Set operatorlari bilan bajarganimizda va so'rovlarning har birining natijalar to'plami turli ustun nomlariga ega bo'lishi mumkin, shuning uchun SELECT iborasining natijasi ustun nomlariga ishora qiladi. operatsiyadagi birinchi so'rov.
SQL JOIN ko'pincha bir nechta tegishli jadvallardagi ustunlarni birlashtiradi, SET operatorlari esa bir nechta jadvallar qatorlarini birlashtiradi.
Agar ifoda turlari bir xil bo'lsa, lekin aniqlik, masshtab yoki uzunlik jihatidan farq qilsa, natija ifodalarni birlashtirish qoidalariga asoslanib aniqlanadi.
UNION ifodasidan foydalanish.
UNION ifodasi bir yoki bir necha SQL so‘rovlar nitijasini birlashtirishga imkon beradi. 
Misol: Londonga joylashgan xamma sotuvchilar va buyurtmachilarni bitta jadvalda chiqaring.

Download 20.16 Kb.

Do'stlaringiz bilan baham:
  1   2   3




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