UNION ve UNION ALL Fonksiyonları

images

NION deyimi iki veya daha fazla sorgunun sonuçlarını birleştirmek için kullanırız. Bu iki veya dahaz fazla sorgu sonucu oluşan değerler tek bir tablo üzerinde geriye döndürülür. Syntax yani söz dimizi aşağıdaki gibidir :

SELECT listelenecek tablo kolonları FROM tablo1 UNION SELECT listelenecek kolonlar FROM tablo2

veya UNION ALL ile;

SELECT listelenecek tablo kolonları FROM tablo1 UNION ALL SELECT listelenecek kolonlar FROM tablo2

Aşağıdaki şekilde UNION kullanımı sonucu nasıl bir sorgu sonucu alabiliriz resmetmeye çalıştım. UNION kullanırken dikkat edilecek nokta listelenecek kolonların aynı türde, birbiri ile uygun türde veri tiplerine sahip olmasıdır.

Şimdi bu resmettiğimiz durumu sorguya dökelim.

123SELECT BusinessEntityID AS ID FROM HumanResources.Employee UNION SELECT BusinessEntityID FROM Person.PersonUNION SELECT SalesOrderID FROM Sales.SalesOrderHeader ORDER BY ID

Sorgumda HumanResources.Employee tablosundan BusinessEntityID, Person.Person tablosundan BusinessEntityID ve Sales.SalesOrderHeader tablosundan SalesOrderID kolonlarındaki verileri listeledim.

Sonuç :

51437 satır sonuç geriye döndü. Şimdi detay açıklamaya girmeden birde aşağıdaki sorguyu yazalım ve sonucu görelim.

123SELECT BusinessEntityID AS ID FROM HumanResources.Employee UNION ALL SELECT BusinessEntityID FROM Person.PersonUNION ALL SELECT SalesOrderID FROM Sales.SalesOrderHeader ORDER BY ID

Bu sefer UNION’dan sonra ALL ekledik. Sonucu görelim :

Sonuç olarak 51727 satır veri var.

Şimdi ilk sorgumda birbiri ile aynı değere sahip veriler listelenmiyor. İkinci sorgumda ise ALL dediğimiz için veriler tekrar etse dahi listeleniyor. Resimlerde de durumları görebiliriz, zaten geriye dönen satır değerleri de farklı.

UNION deyimi tamamen iki benzer tablonun ilgili kolonlarını birleştirmek için kullanılır. Örneğin bir veritabanı ilgili şirketin her bölümü için ayrı ayrı müşteri bilgilerini farklı tablolarda tutuyor olsun. Biz UNION kullanarak buy farklı tablolarda yer alan müşteri bilgilerini tek bir tabloda birleştirerek sorgumuz sonucu geriye döndürebiliriz. Dikkat edeceğimiz konu üstte de yer verdiğim gibi UNION kullanırken birbiri ile birleşecek tabloların kolonlarının aynı tipte ya da uygun tipte veri türüne sahip olmaları gerektiğidir.

kaynak: https://www.ismailgursoy.com.tr/union-ve-union-all-fonksiyonlari/

Yazı gezinmesi

Mobil sürümden çık