Pertanyaan
Dalam SQL, apa yang dimaksud dengan UNION ALL dibandingkan dengan UNION? A UNION menggabungkan hasil dari dua query termasuk duplikat,sedangkan UNION ALL A menghapus duplikat B UNION ALL menggabungkan hasil dari dua query termasuk duplikat, sedangkan UNION B menghapus duplikat C UNION dapat mengurutkan hasil query.sedangkan UNION ALL tidak dapat c D UNION ALL tidak memerlukan kesesuaian tipe data antar query,sedangkan UNION D memerlukan E UNION hanya digunakan untuk tabel sementara , sedangkan UNION ALL untuk tabel E permanen
Solusi
Jawaban
Jawaban yang benar adalah **B**.**UNION** dan **UNION ALL** adalah operator dalam SQL yang digunakan untuk menggabungkan hasil dari dua atau lebih query. Perbedaan utama antara keduanya terletak pada penanganan duplikat:* **UNION:** Menggabungkan hasil dari dua query dan **menghilangkan duplikat**. Ini berarti bahwa jika ada baris yang identik dalam kedua query, hanya satu baris yang akan muncul dalam hasil akhir.* **UNION ALL:** Menggabungkan hasil dari dua query dan **mempertahankan semua baris, termasuk duplikat**. Ini berarti bahwa semua baris dari kedua query akan muncul dalam hasil akhir, bahkan jika ada baris yang identik.**Contoh:**Misalkan kita memiliki dua tabel:* **Tabel A:** * kolom1 | kolom2 * -------- | -------- * 1 | A * 2 | B * 1 | A* **Tabel B:** * kolom1 | kolom2 * -------- | -------- * 3 | C * 1 | A**Query UNION:**```sqlSELECT * FROM AUNIONSELECT * FROM B;```Hasil:* kolom1 | kolom2* -------- | --------* 1 | A* 2 | B* 3 | C**Query UNION ALL:**```sqlSELECT * FROM AUNION ALLSELECT * FROM B;```Hasil:* kolom1 | kolom2* -------- | --------* 1 | A* 2 | B* 1 | A* 3 | C**Kesimpulan:*** **UNION** menghilangkan duplikat, sedangkan **UNION ALL** mempertahankan semua baris, termasuk duplikat.* **UNION** lebih lambat daripada **UNION ALL** karena harus memeriksa duplikat.* **UNION ALL** lebih efisien jika Anda ingin mempertahankan semua baris, bahkan jika ada duplikat.**Pilihan lainnya:*** **C:** UNION dan UNION ALL tidak memiliki pengaruh pada pengurutan hasil query. Pengurutan harus dilakukan secara eksplisit menggunakan klausa ORDER BY.* **D:** UNION dan UNION ALL memerlukan kesesuaian tipe data antar query. Jika tipe data tidak cocok, akan terjadi kesalahan.* **E:** UNION dan UNION ALL dapat digunakan untuk tabel sementara dan tabel permanen.Semoga penjelasan ini membantu!