Bazen
birden çok tablodan veya viewden veriyi tek bir kapsamlı veri kümesine birleştirmeye ihtiyaç vardır.
Bunlar aynı veritabanındaki benzer tablolar olabildiği gibi farklı
veritabanlarındaki veya farklı serverlarda bulunan veritabanlarındaki tablolar
arasında olabilir.
Biz burada UNION ve
UNION ALL nasıl kullandığına ve arasındaki farklara bakacağız.
Temel olarak iki
komutta birden çok veri kümesini bir veri kümesinde birleştirmeye yarasada
aralarında bir fark vardır.
UNION komutunda iki
tablonun benzer satırları birleştirilir. Satırlarda DISTINCT işlemi uygulanır.
Yinelenen satırlar getirilmez.
UNION ALL komutunda
ise yinelenen satırlar kaldırılmaz.
Yinelenen satırlar kaldırılmadığı için işlem hızlıdır.
- Her sorguda aynı sayıda sütun bulunmalıdır.
- Her sütun, uyumlu veri türlerine sahip olmalıdır.
- Son sonuç kümesinin sütun adları ilk sorgudan alınır.
- ORDER BY ve COMPUTE cümleleri sadece her bir sonuç kümesinde değil, genel sonuç kümesi için yayınlanabilir.
- GROUP BY ve HAVING cümleleri sadece her bir sonuç kümesi için verilebilir ve genel sonuç kümesi için geçerli değildir.