UNION işlecini kullanma

Tamamlandı

UNION işleci, iki veya daha fazla sorgu sonuç kümesinin tek bir sonuç kümesinde birleştirilmesine izin verir. Bunu yapmanın iki yolu vardır:

  • UNION – Birleştirilmiş sonuç yinelenenleri içermez .
  • UNION ALL – Birleştirilmiş sonuç kümesi yinelenenleri içerir.

Bahşiş

Bir kümedeki NULL değeri, başka bir kümedeki NULL değerine eşit olarak kabul edilir.

UNION kullanarak sonuç kümelerini birleştirirken iki kural vardır:

  • Sütunların sayısı ve sırası tüm sorgularda aynı olmalıdır.
  • Veri türlerinin uyumlu olması gerekir.

Dekont

UNION, JOIN'ten farklıdır. JOIN, iki tablodaki sütunları karşılaştırarak iki tablodan satırlar içeren bir sonuç kümesi oluşturur. UNION iki sonuç kümesini birleştirir: birinci sonuç kümesindeki tüm satırlar ikinci sonuç kümesindeki satırlara eklenir.

Şimdi iki müşteri listesinin ve döndürdikleri sonuç kümelerinin basit bir örneğini ele alalım. İlk sorgu, Müşteri Kimliği 1 ile 9 arasında olan müşterileri döndürür.

SELECT CustomerID, companyname, FirstName + ' ' + LastName AS 'Name'
FROM SalesLT.Customer
WHERE CustomerID BETWEEN 1 AND 9; 

A screenshot that shows results from the first SELECT statement.

İkinci sorgu, Müşteri Kimliği 10 ile 19 arasında olan müşterileri döndürür.

SELECT customerid, companyname, FirstName + ' ' + LastName AS 'Name'
FROM saleslt.Customer
WHERE customerid BETWEEN 10 AND 19;

A screenshot that shows results from the second SELECT statement.

Bu iki sorguyu aynı sonuç kümesinde birleştirmek için UNION işlecini kullanın:

SELECT customerid, companyname, FirstName + ' ' + LastName AS 'Name'
FROM saleslt.Customer
WHERE customerid BETWEEN 1 AND 9
UNION
SELECT customerid, companyname, FirstName + ' ' + LastName AS 'Name'
FROM saleslt.Customer
WHERE customerid BETWEEN 10 AND 19; 

Bu, döndürülen sonuç kümesidir:

A screenshot that shows results from the UNION statement.

Tüm Transact-SQL deyimlerinde olduğu gibi, açıkça belirtilmediği sürece sıralama düzeni garanti edilmemektedir. Sıralanmış çıkışa ihtiyacınız varsa, ikinci sorgunun sonuna bir ORDER BY yan tümcesi ekleyin.

UNION veya UNION ALL ile her iki sorgu da aynı sayıda sütuna sahip olmalıdır ve sütunlar aynı veri türünde olmalıdır ve farklı sorgulardaki satırları birleştirmenizi sağlar.