UNION Operator
UNION operatori ikkita yoki undan ortiq SELECT bayonotlarining natija to'plamini birlashtirish uchun ishlatiladi.
SQL UNION Operator
UNION operatori ikkita yoki undan ortiq SELECT bayonotlarining natija to'plamini birlashtirish uchun ishlatiladi.
- Har bir SELECT bayonoti ichida UNION bir xil ustunlar soniga ega bo'lishi kerak.
- Ustunlar shuningdek, o'xshash ma'lumot turlariga ega bo'lishi kerak.
- Har bir SELECT bayonotidagi ustunlar ham bir xil tartibda bo'lishi kerak.
UNION Sintaksisi
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
UNION ALL Sintaksisi
UNION operatori faqat noyob qiymatlarni tanlaydi. Takroriy qiymatlarga ruxsat berish uchun, UNION ALL dan foydalaning:
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
Eslatma
Natija to'plamidagi ustun nomlari odatda birinchi SELECT bayonotidagi ustun nomlariga teng bo'ladi.
Demo Ma'lumotlar Bazasi
Ushbu o'quv qo'llanmada biz mashhur Northwind namunaviy ma'lumotlar bazasidan foydalanamiz.
Quyida "Customers" jadvalidan bir tanlov:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
Va "Suppliers" jadvalidan bir tanlov:
SupplierID | SupplierName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Exotic Liquid | Charlotte Cooper | 49 Gilbert St. | London | EC1 4SD | UK |
2 | New Orleans Cajun Delights | Shelley Burke | P.O. Box 78934 | New Orleans | 70117 | USA |
3 | Grandma Kelly's Homestead | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | USA |
SQL UNION Misoli
Quyidagi SQL bayonoti "Customers" va "Suppliers" jadvalidan shaharlarni (faqat noyob qiymatlar) qaytaradi:
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
Eslatma: Agar ba'zi mijozlar yoki ta'minotchilar bir xil shaharni bo'lsa, har bir shahar faqat bir marta ro'yxatga olinadi, chunki UNION faqat noyob qiymatlarni tanlaydi. Takroriy qiymatlarni tanlash uchun UNION ALL dan foydalaning!
SQL UNION ALL Misoli
Quyidagi SQL bayonoti "Customers" va "Suppliers" jadvalidan shaharlarni (takroriy qiymatlar ham) qaytaradi:
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
SQL UNION WHERE Bilan
Quyidagi SQL bayonoti "Customers" va "Suppliers" jadvalidan nemis shaharlarini (faqat noyob qiymatlar) qaytaradi:
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
SQL UNION ALL WHERE Bilan
Quyidagi SQL bayonoti "Customers" va "Suppliers" jadvalidan nemis shaharlarini (takroriy qiymatlar ham) qaytaradi:
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
Boshqa UNION Misoli
Quyidagi SQL bayonoti barcha mijozlar va ta'minotchilarni ro'yxatga oladi:
SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
Diqqat
Yuqoridagi "AS Type" - bu alias. SQL aliaslari jadvalga yoki ustunga vaqtincha nom berish uchun ishlatiladi. Alias faqat so'rov davomida mavjud bo'ladi. Shunday qilib, biz "Type" nomli vaqtincha ustun yaratdik, bu kontakt shaxs "Customer" yoki "Supplier" ekanligini ko'rsatadi.
Last updated on 12/4/2024