Menggunakan operator UNION
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;
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;
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:
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.