Menggunakan operator UNION

Selesai

Operator UNION memungkinkan dua atau lebih tataan hasil kueri untuk digabungkan menjadi satu tataan hasil. Ada dua cara untuk melakukan ini:

  • UNION – hasil yang telah digabungkan tidak menyertakan duplikat.
  • UNION ALL – tataan hasil yang telah digabungkan menyertakan duplikat.

Tip

NULL dalam satu set diperlakukan sama dengan NULL di set yang lain.

Ada dua aturan saat menggabungkan set hasil dengan menggunakan UNION:

  • Angka dan urutan kolom harus sama dalam semua kueri.
  • Tipe data harus kompatibel.

Catatan

UNION berbeda dengan JOIN. JOIN membandingkan kolom dari dua tabel untuk membuat tataan hasil yang berisi baris dari dua tabel. UNION menggabungkan dua tataan hasil bersama-sama: semua baris dalam tataan hasil pertama ditambahkan ke baris di tataan hasil kedua.

Mari kita ambil contoh sederhana dari dua daftar pelanggan serta tataan hasil yang ditampilkan. Kueri pertama menampilkan pelanggan dengan CustomerID antara 1 dan 9.

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.

Kueri kedua menampilkan pelanggan dengan CustomerID antara 10 dan 19.

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.

Untuk menggabungkan kedua kueri ini ke dalam tataan hasil yang sama, gunakan operator UNION:

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; 

Berikut ini adalah tataan hasil yang ditampilkan:

A screenshot that shows results from the UNION statement.

Senada dengan semua pernyataan Transact-SQL, tidak akan ada urutan sortir kecuali jika ditentukan secara eksplisit. Jika Anda memerlukan output yang diurutkan, tambahkan klausul ORDER BY di akhir kueri kedua.

Dengan UNION atau UNION ALL, kedua kueri harus memiliki jumlah kolom yang sama, dan kolom tersebut harus memiliki tipe data yang sama, yang memungkinkan Anda dalam menggabungkan baris dari kueri yang berbeda.