Dalam SQLite, UNION
operator membuat gabungan SELECT
pernyataan yang mengembalikan hasil kiri dan kanan SELECT
pernyataan. Dengan kata lain, ini menggabungkan hasil dari dua kueri menjadi satu kumpulan hasil.
Contoh
Misalkan kita memiliki tabel berikut:
SELECT * FROM Teachers;
SELECT * FROM Students;
Hasil:
TeacherId TeacherName --------- ----------- 1 Warren 2 Ben 3 Cathy 4 Cathy 5 Bill 6 Bill StudentId StudentName --------- ----------- 1 Faye 2 Jet 3 Spike 4 Ein 5 Warren 6 Bill
Kita dapat menggunakan UNION
operator untuk mengembalikan semua guru dan siswa:
SELECT TeacherName FROM Teachers
UNION
SELECT StudentName FROM Students;
Hasil:
TeacherName ----------- Ben Bill Cathy Ein Faye Jet Spike Warren
Secara default, UNION
operator secara implisit menerapkan DISTINCT
operasi. Dengan kata lain, ini hanya mengembalikan nilai yang berbeda secara default. Jadi hasil di atas hanya berisi satu masing-masing Warren, Cathy dan Bill. Ini terlepas dari fakta bahwa tabel gabungan sebenarnya berisi dua Warrens, dua Cathys, dan tiga Bills (ada dua guru bernama Cathy, seorang guru dan pelanggan bernama Warren, dan dua bernama Bill, serta satu siswa bernama Bill).
Sertakan Duplikat
Kita dapat menggunakan ALL
kata kunci untuk memasukkan nilai duplikat dalam hasil:
SELECT TeacherName FROM Teachers
UNION ALL
SELECT StudentName FROM Students;
Hasil:
TeacherName ----------- Warren Ben Cathy Cathy Bill Bill Faye Jet Spike Ein Warren Bill
Kali ini kami mendapat dua belas baris, bukan delapan yang kami dapatkan dalam contoh pertama kami.
Kita dapat melihat bahwa kedua Cathys dikembalikan dan ketiga Bills dikembalikan.