Dalam pengelolaan basis data menggunakan SQL, terdapat berbagai fungsi yang memudahkan kita dalam memanipulasi dan menarik data secara efisien. Dua di antaranya yang sering diandalkan oleh para pengembang dan analis data adalah klausa UNION dan operator IN. Berikut adalah panduan lengkap mengenai fungsi, syarat penggunaan, dan cara penulisan sintaksnya.
Klausa UNION
Klausa UNION merupakan sebuah klausa pada SQL yang digunakan untuk melakukan penggabungan dua atau lebih hasil dari pernyataan SELECT.
Untuk menggunakan klausa ini, Anda tidak bisa sembarangan menggabungkan tabel. Terdapat aturan baku yang harus dipenuhi agar kueri tidak menghasilkan error:
- Setiap pernyataan SELECT yang digabungkan harus memiliki jumlah kolom yang sama.
- Tipe data yang dimiliki oleh kolom-kolom yang bersesuaian harus sama atau kompatibel.
- Setiap kolom pada pernyataan SELECT harus dalam urutan yang sama.
Secara bawaan (default), klausa UNION hanya akan memilih dan menampilkan nilai yang berbeda. Ini berarti sistem akan secara otomatis memfilter hasil sehingga tidak akan terjadi duplikasi data.
Sintaks UNION:
SQL
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
Klausa UNION ALL
Di dalam keluarga UNION, terdapat juga variasi sintaks yang dikenal sebagai UNION ALL.
Perbedaan utama antara keduanya terletak pada cara sistem menangani data yang kembar. Jika UNION menghapus duplikasi, UNION ALL mengizinkan terjadinya duplikasi data. Klausa ini akan menampilkan seluruh baris hasil dari setiap pernyataan SELECT yang digabungkan, terlepas dari apakah ada nilai yang sama persis atau tidak.
Sintaks UNION ALL:
SQL
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
Catatan: Penggunaan UNION ALL biasanya lebih cepat dibandingkan UNION biasa karena sistem komputasi tidak perlu membuang waktu tambahan untuk memindai dan menghapus baris-baris yang duplikat.
Operator IN
Operator IN merupakan operator logika yang ditambahkan pada klausa WHERE untuk memfilter data berdasarkan beberapa kemungkinan nilai sekaligus.
Operator ini sering dikatakan sebagai metode shorthand (penulisan singkat) untuk menggantikan penggunaan operator OR yang berulang kali saat melakukan pemilihan pada beberapa kondisi. Penggunaan IN membuat kode SQL menjadi jauh lebih rapi, ringkas, dan mudah dibaca.
Sintaks Operator IN (menggunakan daftar nilai spesifik):
SQL
SELECT column_name(s) FROM table_name
WHERE column_name IN (value1, value2, …);
Sintaks Operator IN (menggunakan Subquery / SELECT statement): Selain mendefinisikan nilai secara manual, Anda juga bisa meletakkan pernyataan SELECT lain di dalam tanda kurung untuk menghasilkan daftar nilai secara dinamis.
SQL
SELECT column_name(s) FROM table_name
WHERE column_name IN (SELECT STATEMENT);






