MySQL UNION
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!
