MySQL UNION


ULASHISH

MySQL UNION operatori

UNION operatori ikki yoki undan ortiq SELECT iboralarining natijalar to‘plamini birlashtirish uchun ishlatiladi.

UNION operatori natijalar to‘plamidan takroriy qatorlarni avtomatik ravishda olib tashlaydi.

UNION uchun talablar:

  • UNION ichidagi har bir SELECT operatori bir xil sonli ustunlarga ega bo‘lishi kerak
  • Ustunlar ham o‘xshash ma’lumotlar turlariga ega bo‘lishi kerak
  • Har bir SELECT operatoridagi ustunlar ham bir xil tartibda bo‘lishi kerak

UNION sintaksisi

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

Eslatma: Natijalar to‘plamidagi ustun nomlari odatda birinchi SELECT iborasidagi ustun nomlariga teng.


Demo ma’lumotlar bazasi

Quyida "Mijozlar" jadvalidan tanlov mavjud:

Mijoz ID Mijoz nomi Kontakt nomi Manzil Shahar Pochta kodi Mamlakat
1

Alfreds Futterkiste Mariya Anders Obere ko‘chasi. 57 Berlin 12209 Germaniya
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Konstitutsiya 2222 Meksika D.F. 05021 Meksika
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Meksika D.F. 05023 Meksika

Va "Yetkazib beruvchilar" jadvalidan tanlov:

SupplierID Ta’minotchi nomi Kontakt nomi Manzil Shahar Pochta kodi Mamlakat
1 Ekzotik suyuqlik Sharlotta Kuper 49 Gilbert St. London EC1 4SD UK
2 Yangi Orlean Kajun lazzatlari Shelley Burke P.O. 78934 quti Yangi Orlean 70117 AQSh
3 Kelli buvining uyi Regina Merfi 707 Oksford ko‘chasi. Enn Arbor 48104 AQSh


MySQL UNION misoli

Quyidagi SQL "Mijozlar" va "Yetkazib beruvchilar" jadvalidagi shaharlarni (faqat alohida qiymatlarni) qaytaradi:

Misol

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
O‘zingiz sinab ko‘ring »

Eslatma: Agar ba’zi mijozlar yoki yetkazib beruvchilar bir xil shaharga ega bo‘lsa, har bir shahar faqat bir marta ro‘yxatga olinadi, chunki UNION faqat alohida qiymatlarni tanlaydi. Takroriy qiymatlarni ham tanlash uchun UNION ALL dan foydalaning!


MySQL UNION WHERE bilan

Bu yerda "Customers" va "Suppliers" jadvallaridan faqat takrorlanmaydigan Germaniya shaharlarini qaytarish uchun WHERE bandini qo‘shamiz:

Misol

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
O‘zingiz sinab ko‘ring »

Yana bir UNION misoli

Quyidagi SQL barcha iste’molchilar va yetkazib beruvchilarni ro‘yxatga oladi:

Misol

SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
O‘zingiz sinab ko‘ring »

Yuqoridagi "AS Type" ga e’tibor bering - bu taxallus. SQL taxalluslari jadval yoki ustunga vaqtinchalik nom berish uchun ishlatiladi. Shunday qilib, biz bu yerda "Type" nomli vaqtinchalik ustun yaratdik; u aloqa qiluvchi shaxs "Customer" yoki "Supplier" ekanini ko‘rsatadi.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!