Ringkasan :dalam tutorial ini, Anda akan mempelajari cara menggunakan SQLite UNION
operator untuk menggabungkan kumpulan hasil dari dua kueri atau lebih menjadi satu kumpulan hasil.
Pengantar SQLite UNION
operator
Terkadang, Anda perlu menggabungkan data dari beberapa tabel ke dalam kumpulan hasil yang lengkap. Mungkin untuk tabel dengan data serupa dalam database yang sama atau mungkin Anda perlu menggabungkan data serupa dari beberapa database.
Untuk menggabungkan baris dari dua kueri atau lebih menjadi satu kumpulan hasil, Anda menggunakan SQLite UNION
operator. Berikut ini mengilustrasikan sintaks dasar UNION
operator:
query_1
UNION [ALL]
query_2
UNION [ALL]
query_3
...;
Code language: SQL (Structured Query Language) (sql)
Keduanya UNION
dan UNION ALL
operator menggabungkan baris dari kumpulan hasil menjadi satu kumpulan hasil. UNION
operator menghapus menghilangkan baris duplikat, sedangkan UNION ALL
operator tidak.
Karena UNION ALL
operator tidak menghapus baris duplikat, ini berjalan lebih cepat daripada UNION
operator.
Berikut ini adalah aturan untuk menyatukan data:
- Jumlah kolom di semua kueri harus sama.
- Kolom yang sesuai harus memiliki tipe data yang kompatibel.
- Nama kolom dari kueri pertama menentukan nama kolom dari kumpulan hasil gabungan.
GROUP BY
danHAVING
klausa diterapkan ke setiap kueri individual, bukan kumpulan hasil akhir.ORDER BY
klausa diterapkan ke kumpulan hasil gabungan, bukan di dalam kumpulan hasil individual.
Perhatikan bahwa perbedaan antara UNION
dan JOIN
mis., INNER JOIN
atau LEFT JOIN
apakah itu JOIN
klausa menggabungkan kolom dari beberapa tabel terkait, sementara UNION
menggabungkan baris dari beberapa tabel serupa.
Misalkan kita memiliki dua tabel t1 dan t2 dengan struktur berikut:
CREATE TABLE t1(
v1 INT
);
INSERT INTO t1(v1)
VALUES(1),(2),(3);
CREATE TABLE t2(
v2 INT
);
INSERT INTO t2(v2)
VALUES(2),(3),(4);
Code language: SQL (Structured Query Language) (sql)
Pernyataan berikut menggabungkan kumpulan hasil dari tabel t1 dan t2 menggunakan UNION
operator:
SELECT v1
FROM t1
UNION
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
Berikut adalah outputnya:
Gambar berikut mengilustrasikan UNION
operasi tabel t1 dan t2:
Pernyataan berikut menggabungkan kumpulan hasil tabel t1 dan t2 menggunakan UNION ALL
operator:
SELECT v1
FROM t1
UNION ALL
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
Gambar berikut menunjukkan outputnya:
Gambar berikut mengilustrasikan UNION ALL
operasi himpunan hasil tabel t1 dan t2:
SQLite UNION
contoh
Mari kita ambil beberapa contoh penggunaan UNION
operator.
1) SQLite UNION
contoh
Pernyataan ini menggunakan UNION
operator untuk menggabungkan nama karyawan dan pelanggan menjadi satu daftar:
SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers;
Code language: SQL (Structured Query Language) (sql)
Berikut adalah outputnya:
2) SQLite UNION
dengan ORDER BY
contoh
Contoh ini menggunakan UNION
operator untuk menggabungkan nama karyawan dan pelanggan menjadi satu daftar. Selain itu, ia menggunakan ORDER BY
klausa untuk mengurutkan daftar nama berdasarkan nama depan dan nama belakang.
SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers
ORDER BY FirstName, LastName;
Code language: SQL (Structured Query Language) (sql)
Berikut adalah outputnya:
Dalam tutorial ini, Anda telah mempelajari cara menggunakan SQLite UNION
operator untuk menggabungkan baris dari kumpulan hasil menjadi kumpulan hasil tunggal. Anda juga mempelajari perbedaan antara UNION
dan UNION ALL
operator.