Kombinasi Query di PostgreSQL 18
lebakcyber.net – Kombinasi Query di PostgreSQL 18. Sekarang kita akan mempelajari bagaimana cara melakukan perintah kombinasi Query pada database PostgreSQL 18. Disini kita akan mempelajari bagaimana cara untuk menggabungkan hasil dari dua atau lebih query, melakukan proses penyaringan data yang sama atau berbeda diantara tabel.
Kombinasi Query sendiri digunakan untuk menggabungkan hasil dari beberapa perintah query SELECT agar mendapatkan satu hasil akhir.
Misalnya kita ingin menampilkan data pegawai yang masih aktif ataupun yang sudah tidak lagi aktif dalam satu buah daftar. Menampilkan pegawai yang ada di bidang IT atau bidang hrd atau hasil dari keduanya. Mencari data unik pada suatu tabel namun tidak di tabel lain.
Di PostgreSQL 18 sendiri memiliki empat set operator utama:
| Operator | Fungsi | Duplikasi |
|---|---|---|
| Union | Menggabungkan hasil query dan menghilangkan duplikat. | Duplikat dihapus |
| Union All | Menggabungkan hasil dari Query, termasuk duplikat | Duplikasi ikut ditampilkan |
| Intersect | Mengambil data yang ada di kedua query | Duplikat tidak ada |
| Except | Mengambil data dari query pertama namun tidak ada pada query kedua | Duplikat tidak ada |
Syarat untuk melakukan kombinasi query, tabel harus memiliki tipe data dan juga jumlah kolom yang sama.
Untuk mempraktekannya kita buat dulu dua buah tabel baru dengan nama pegawai_2024 dan tabel pegawai_2025 dengan perintah dibawah ini :
//membuat table pegawai 2024 CREATE TABLE pegawai_2024 (id_pegawai SERIAL, nama_pegawai TEXT, bidang TEXT); //membuat tabel pegawai 2025 CREATE TABLE pegawai_2025 (id_peagawai SERIAL, nama_pegawai TEXT, bidang TEXT);
Lalu kita masukan beberapa pegawai kedalam dua buah tabel tersebut :
INSERT INTO pegawai_2024 (nama_pegawai, bidang) VALUES
('Firdan Ardiansyah', 'IT'),
('Arsyanendra Ardiansyah', 'HRD'),
('Nur Arsy Ardiansyah', 'Pemasaran'),
('Ratna Dwi Sartika', 'Keuangan');
INSERT INTO pegawai_2025 (nama_pegawai, bidang) VALUES
('Firdan Ardiansyah', 'IT'),
('Arsyanendra Ardiansyah', 'HRD'),
('Nur Arsy Ardiansyah', 'Pemasaran'),
('Ratna Dwi Sartika', 'Keuangan'),
('Muhammad Bilal', 'IT'),
('Muhammad Ammar', 'Keuangan');
Sekarang kita pastikan kalau semua data tersebut sudah masuk kedalam dua buah tabel pegawai tersebut dengan perintah SELECT seperti dibawah ini :
select * from pegawai_2024;
id_pegawai | nama_pegawai | bidang
------------+------------------------+-----------
1 | Firdan Ardiansyah | IT
2 | Arsyanendra Ardiansyah | HRD
3 | Nur Arsy Ardiansyah | Pemasaran
4 | Ratna Dwi Sartika | Keuangan
select * from pegawai_2025;
id_peagawai | nama_pegawai | bidang
-------------+------------------------+-----------
1 | Firdan Ardiansyah | IT
2 | Arsyanendra Ardiansyah | HRD
3 | Nur Arsy Ardiansyah | Pemasaran
4 | Ratna Dwi Sartika | Keuangan
5 | Muhammad Bilal | IT
6 | Muhammad Ammar | Keuangan
Oke bisa kita lihat kalau kita sudah berhasil membuat dua buah tabel baru di database Kantor pada PostgreSQL 18 dan juga sudah berhasil memasukan data kedalam tabel pegawai_2024 dan tabel pegawai 2025.
Contoh Perintah UNION
Sekarang kita coba melakukan perintah UNION pada database PostgreSQL 18. Seperti yang telah diterangkan diatas kalau perintah UNION akan menghilangkan data yang sama pada hasil pencarian. Contohnya seperti dibawah ini :
SELECT nama_pegawai FROM pegawai_2024 UNION SELECT nama_pegawai FROM pegawai_2025;
Maka hasil dari perintah UNION dari perintah diatas seperti dibawah ini :
nama_pegawai ------------------------ Muhammad Bilal Nur Arsy Ardiansyah Arsyanendra Ardiansyah Ratna Dwi Sartika Muhammad Ammar Firdan Ardiansyah
Bisa kita lihat dari hasil pencarian diatas kalau perintah UNION di PostgreSQL 18 untuk tabel pegawai_2024 dan tabel pegawai_2025 akan menampilkan semua data dan menghilangkan data yang sama .
Perintah UNION ALL di PostgreSQL 18
Sekarang kita coba untuk melakukan perintah UNION ALL pada database PostgreSQL 18. Perintah UNION ALL akan menampilkan semua data, termasuk data yang sama didalamnya. Contoh perintahnya seperti dibawah ini :
SELECT nama_pegawai FROM pegawai_2024 UNION ALL SELECT nama_pegawai FROM pegawai_2025;
Nanti hasil dari perintah UNION ALL tersebut akan seperti tampilan dibawah ini :
nama_pegawai ------------------------ Firdan Ardiansyah Arsyanendra Ardiansyah Nur Arsy Ardiansyah Ratna Dwi Sartika Firdan Ardiansyah Arsyanendra Ardiansyah Nur Arsy Ardiansyah Ratna Dwi Sartika Muhammad Bilal Muhammad Ammar
Dari hasil diatas bisa kita lihat kalau perintah UNION ALL akan menampilkan semua data yang ada pada tabel pegawai_2024 dan juga data pada tabel pegawai_2025, karena perintah UNION ALL tidak menghapus duplikasi data, oleh karena itu semua data yang ada didalam kedua tabel tersebut ditampilkan semua.
Perintah INTERSECT di PostgreSQL 18
Sekarang kita coba untuk melakukan perintah INTERSECT di database PostgreSQL 18. Perintah Intersect sendiri digunakan hanya untuk menampilkan data yang sama pada dua tabel yang berbeda. Contoh perintahnya seperti dibawah ini :
SELECT nama_pegawai FROM pegawai_2024 INTERSECT SELECT nama_pegawai FROM pegawai_2025;
Bisa kita lihat hasil yang ditampilkan adalah nama-nama pegawai yang ada pada tabel pegawai_2024 dan juga nama-nama pegawai yang juga ada di tabel pegawai_2025 saja, dan nama pegawai yang tidak ada didalam tabel 2024 tidak akan ditampilkan.
Perintah EXCEPT di PostgreSQL 18
Terakhir kita coba praktekan perintah EXCEPT di database PostgreSQL 18. Dimana perintah EXCEPT ini hanya akan menampilkan data yang hanya ada query pertama dan tidak ada didalam query kedua. Contoh perintahnya seperti dibawah ini :
SELECT nama_pegawai FROM pegawai_2025 EXCEPT SELECT nama_pegawai FROM pegawai_2024;
Hasil dari perintah EXCEPT tersebut akan seperti dibawah ini :
nama_pegawai ---------------- Muhammad Ammar Muhammad Bilal
Bisa kita lihat hasilnya hanya menampilkan dua buah nama pegawai saja, karena dua pegawai tersebut hanya ada di tabel pegawai_2025 dan tidak ada didalam tabel pegawai_2024.
Kesimpulan
Oke jadi seperti itulah bagaimana cara kombinasi query di PostgreSQL 18 dan juga kita telah mempelajari beberapa perintahnya seperti UNION, UNION ALL, INTERSECT dan EXCEPT. Semoga tutorial belajar PostgreSQL 18 ini dapat bermanfaat.
Jangan lupa untuk selalu berkunjung ke situs lebakcyber.net untuk mendapatkan tutorial mengenai belajar database PostgreSQL 18 lainnya.







