MySQL BİRLİĞİ Operatörü
MySQL UNION Operatörü
Operatör, iki veya daha fazla ifadenin UNION
sonuç kümesini birleştirmek için kullanılır
.SELECT
- İçindeki her
SELECT
ifadeUNION
aynı sayıda sütuna sahip olmalıdır - Sütunlar da benzer veri türlerine sahip olmalıdır
- Her ifadedeki sütunlar
SELECT
da aynı sırada olmalıdır
UNION Sözdizimi
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
UNION ALL Sözdizimi
Operatör , UNION
varsayılan olarak yalnızca farklı değerleri seçer. Yinelenen değerlere izin vermek için şunu kullanın UNION ALL
:
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
Not: Sonuç kümesindeki sütun adları genellikle ilk SELECT
ifadedeki sütun adlarına eşittir.
Demo Veritabanı
Bu eğitimde, iyi bilinen Northwind örnek veritabanını kullanacağız.
Aşağıda "Müşteriler" tablosundan bir seçim bulunmaktadır:
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 |
Ve "Tedarikçiler" tablosundan bir seçim:
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 BİRLİĞİ Örneği
Aşağıdaki SQL ifadesi, hem "Müşteriler" hem de "Tedarikçiler" tablosundan şehirleri (yalnızca farklı değerler) döndürür:
Örnek
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
Not: Bazı müşteriler veya tedarikçiler aynı şehre sahipse, UNION
yalnızca farklı değerler seçildiğinden her şehir yalnızca bir kez listelenir. UNION ALL
Yinelenen değerleri seçmek için de kullanın
!
SQL BİRLİĞİ TÜMÜ Örneği
Aşağıdaki SQL ifadesi, hem "Müşteriler" hem de "Tedarikçiler" tablosundan şehirleri (yinelenen değerler de) döndürür:
Örnek
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
WHERE ile SQL BİRLİĞİ
Aşağıdaki SQL ifadesi, hem "Müşteriler" hem de "Tedarikçiler" tablosundan Alman şehirlerini (yalnızca farklı değerler) döndürür:
Örnek
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
SQL BİRLİĞİ TÜMÜ WHERE ile
Aşağıdaki SQL ifadesi, hem "Müşteriler" hem de "Tedarikçiler" tablosundan Alman şehirlerini (yinelenen değerler de) döndürür:
Örnek
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
Başka Bir UNION Örneği
Aşağıdaki SQL deyimi tüm müşterileri ve tedarikçileri listeler:
Örnek
SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
Yukarıdaki "AS Tipi"ne dikkat edin - bu bir takma addır. SQL Takma Adları , bir tabloya veya sütuna geçici bir ad vermek için kullanılır. Bir takma ad yalnızca sorgunun süresi boyunca mevcuttur. Bu nedenle, burada irtibat kurulacak kişinin "Müşteri" mi yoksa "Tedarikçi" mi olduğunu listeleyen "Tür" adında geçici bir sütun oluşturduk.