Last updated
Last updated
Ushbu qo'llanmada siz PostgreSQL UNION
operatoridan bir nechta so'rovlarning natijalar to'plamini bitta natijalar to'plamiga birlashtirish uchun qanday foydalanishni o'rganasiz.
UNION
operatori ikkita yoki undan ortiq SELECT
iboralarining natijalar to'plamini bitta natijalar to'plamiga birlashtiradi.
Quyida ikkita so'rov natijalari to'plamini birlashtirgan UNION
operatorining sintaksisi tasvirlangan:
UNION
operatoridan foydalangan holda ikkita so'rov natijalari to'plamini birlashtirish uchun so'rovlar quyidagi qoidalarga muvofiq bo'lishi kerak:
Ikkala so'rovning tanlash ro'yxatidagi ustunlar soni va tartibi bir xil bo'lishi kerak.
Ma'lumotlar turlari mos bo'lishi kerak.
UNION
operatori birlashtirilgan ma'lumotlar to'plamidan barcha takroriy qatorlarni olib tashlaydi. Ikki nusxadagi qatorlarni saqlab qolish uchun siz UNION ALL
dan foydalanasiz.
Quyidagi Venn diagrammasi
UNION
qanday ishlashini ko'rsatadi:
ORDER BY
bandi bilan PostgreSQL UNION
UNION
operatori birinchi so'rov natijalari to'plamidagi qatorlarni ikkinchi so'rov natijalari to'plamidan oldin, keyin yoki qatorlar orasiga qo'yishi mumkin.
Yakuniy natijalar to'plamidagi qatorlarni saralash uchun siz ikkinchi so'rovda ORDER BY
bandidan foydalanasiz.
Amalda siz tez-tez UNION
operatoridan ma'lumotlar ombori yoki biznes razvedka tizimlarida mukammal normallashtirilmagan o'xshash jadvallardagi ma'lumotlarni birlashtirish uchun foydalanasiz.
Quyidagi iboralar ikkita jadval yaratadi: top_rated_films
va most_popular_films
va ushbu jadvallarga ma'lumotlarni kiriting:
Quyida top_rated_films
jadvalidagi ma'lumotlar ko'rsatilgan:
UNION
misollariKeling, PostgreSQL UNION
operatoridan foydalanishga misollar keltiraylik.
UNION
misoliQuyidagi bayonot ikkala jadvaldagi ma'lumotlarni birlashtirish uchun UNION
operatoridan foydalanadi:
So'rov quyidagi natijani qaytaradi:
Natijalar to'plami natijalar to'plamida besh qatorni o'z ichiga oladi, chunki UNION
operatori bitta takroriy qatorni olib tashlaydi.
UNION ALL
misoliQuyidagi bayonot UNION ALL
operatoridan top_rated_films
va most_popular_films
jadvalidagi natijalar to'plamini birlashtirish uchun foydalanadi:
Ushbu misolda takroriy qator natijalar to'plamida saqlanadi.
UNION
operatori tomonidan qaytarilgan natijani saralash uchun siz oxirgi so'rovning ORDER BY
bandini quyidagicha joylashtirasiz:
Agar siz har bir so'rovning oxiriga ORDER BY
bandini qo'ysangiz, birlashtirilgan natijalar to'plami siz kutgandek tartiblanmaydi.
Chunki UNION
operatori har bir so'rovdan saralangan natijalar to'plamini birlashtirganda, u yakuniy natijalar to'plamidagi qatorlar tartibini kafolatlamaydi.
Ushbu qo'llanmada siz PostgreSQL UNION
va UNION ALL
-dan bir nechta so'rovlardan olingan natijalar to'plamini bitta natijalar to'plamiga birlashtirish uchun qanday foydalanishni o'rgandingiz.
©