sql union etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
sql union etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
SQL UNION Kullanımı
UNION ile iki adet tablomuzdaki seçeceğimiz alanları birleştirerek tek bir tablo alanıymış gibi kullanabiliriz. Union ile iki tablodaki alanlar birleştirilirken tekrarlayan kayıtlar bir defa alınır. Eğer tekrarlayan kayıtların alınması isteniyorsa UNION ALL kullanılmalıdır.

UNION Kullanım Biçimi
SELECT alan_ad(lari) FROM tablo1
UNION
SELECT alan_ad(lari) FROM tablo2

UNION ALL Kullanım Biçimi
 

SELECT alan_ad(lari) FROM tablo1
UNION ALL
SELECT alan_ad(lari) FROM tablo2

Görüleceği üzere iki tane SELECT ifadesi kullanılmaktadır. Yani iki ayrı sorgu yapısını UNION ile birleştirmiş oluyoruz. Burada dikkat edilecek olan nokta Select ifadesinden sonra yazılacak alan sayısı her iki sorgu ifadesinde de aynı olmalıdır. Alan adları farklı olabilir. Yani birinci select ifadesinde Şehir alanı kullanılırken diğer select ifadesinde Adres alanı kullanılabilir. Sonuçta anlamsız bir veri çıkabilir ancak yapı bu şekilde çalışmaktadır. Alanları birleştirirken yazım sırasına göre birleştirme yapmaktadır. Yani birinci Select ifadesinden sonra Adi_soyadi, Sehir yazıldıysa, çekilen verinin anlamlı olması için ikinci select ifadesinden sonra da Adi_soyadi, Sehir şeklinde yazılması gerekmektedir. Eğer ikinci bölüme Sehir, Adi_soyadi yazılırsa birinci tablodan adi_soyadi alanındaki veriler ile ikinci tablodan Sehir  alanındaki veriler birleştirilir. Ancak bazı SQL editör programları böylesi bir durumun önün geçmek için kendi içlerinde kontrol mekanizması kurarak kullanıcıyı uyarabilmektedirler.

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehir
1Salih ESKİOĞLUİstanbul
2Ayhan ÇETİNKAYAKocaeli
3Serkan ÖZGÜRELErzincan
4İlhan ÖZLÜİstanbul
İkinci tablomuz olan Musteriler ise aşağıdaki gibi olsun.
idAdi_soyadiSehir
1Veysi YamlıVan
2Sırrı DermanMersin

Örnek1:

SELECT Sehir FROM Personel
UNION
SELECT Sehir FROM Musteriler

Bu kod ile iki tabloda Sehir alanlarındaki veriler tekrar edenler bir defa alınmak suretiyle birleştirilmiş olunur. Dikkat edileceği üzere PErsonel tablosunda iki tane İstanbul bulunmaktadır.
Çıktısı:
Sehir
İstanbul
Kocaeli
Erzincan
Van
Mersin
Örnek2:

SELECT Sehir FROM Personel
UNION ALL
SELECT Sehir FROM Musteriler

Burada UNION ALL kulanılmıştır. Yani her iki tabloda Sehir alanında bulunan kayıtlar olduğu gibi alınmıştır. Personel tablosunda iki tane İstanbul kaydı vardır. Bunlar olduğu gibi alınacaktır.
Çıktısı:
Sehir
İstanbul
Kocaeli
Erzincan
İstanbul
Van
Mersin
Örnek3:

SELECT Adi_soyadi, Sehir FROM Personel
UNION ALL
SELECT Adi_soyadi,Sehir FROM Musteriler

İki tablo olduğu gibi birleştirilmiştir.
Çıktısı:
Adi_soyadiSehir
Salih ESKİOĞLUİstanbul
Ayhan ÇETİNKAYAKocaeli
Serkan ÖZGÜRELErzincan
İlhan ÖZLÜİstanbul
Veysi YamlıVan
Sırrı DermanMersin

SQL UNION Kullanımı