SQL’de UNION Operatorü

BİRLEŞİM sorgusu, iki veya daha fazla SELECT deyimi sonuç kümesini birleştirmek için kullanılır.

Dikkat edin, her deyim UNION içinde aynı sayıda sütun olması gerekir. Sütunlar da benzer veri türü olmalıdır. Ayrıca, sütunların her SELECT deyiminde aynı sırada olmalıdır.

SQL UNION Sözdizimi

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

Not: BİRLEŞİM işlemini, varsayılan olarak farklı bir değer seçer. Yinelenen değerlere izin vermek için UNION sorgusu kullanılır.

SQL UNION  Sözdizimi

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

PS: Bir Birliği sonuç kümesinde sütun adları genellikle eşit Birliği'nin ilk SELECT deyiminde sütun adları.


Demo Veritabanı

Bu eğitimde tanınmış Northwind örnek veritabanını kullanır.

Aşağıdaki "Müşteriler" tablosundan bir seçimdir:

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çi" tablo seçimi:

SupplierID

SupplierName

ContactName

Address

City

PostalCode

Country

1

Exotic Liquid

Charlotte Cooper

49 Gilbert St.

Londona

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 Örnek

Aşağıdaki SQL sorgusu, tüm farklı şehirler (yalnızca farklı değerlerdeki) "Müşteriler" ve "Tedarikçi" tablolarını seçer:

Örnek

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

Not: Birliği, iki tablodan tüm şehirler listesi için kullanılamaz. Çeşitli müşteriler ve tedarikçilerin aynı şehirde paylaşıyorsanız, her şehir yalnızca bir kez listelenir. Birliği, farklı bir değer seçer. UNION ALL aynı zamanda yinelenen değerler seçmek için kullanın.


SQL UNION ALL Örnek

UNION ALL (yinelenen değerleri de) tüm şehirler "Müşteriler" ve "Tedarikçi" tablolarından seçmek için aşağıdaki SQL deyimini kullanır:

Örnek

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

 

 

 

SQL UNION ALL ile WHERE

Tüm (yinelenen değerleri de) Alman şehirlerini seçmek için aşağıdaki SQL deyimi UNION ALL kullanır. "Müşteriler" ve "Tedarikçi" tablolarının şehirleri:

Örnek

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;