1. Anasayfa
  2. Genel

UNION ve UNION ALL Fonksiyonları

UNION ve UNION ALL Fonksiyonları
0

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.

2013022701

Ş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ç :

2013022702

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 :

2013022703

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.

Reaksiyon Göster
  • 0
    alk_
    Alkış
  • 0
    be_enmedim
    Beğenmedim
  • 0
    sevdim
    Sevdim
  • 0
    _z_c_
    Üzücü
  • 0
    _a_rd_m
    Şaşırdım
  • 0
    k_zd_m
    Kızdım

Baristekin.com.tr içerik yöneticisi

Yazarın Profili
Paylaş
İlginizi Çekebilir

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir