Apa itu PostgreSQL Union?
Operator UNION PostgreSQL digunakan untuk menggabungkan kumpulan hasil dari lebih dari satu pernyataan SELECT menjadi satu kumpulan hasil. Setiap baris duplikat dari hasil pernyataan SELECT dieliminasi. Operator UNION bekerja dalam dua kondisi:
- Kueri SELECT HARUS mengembalikan jumlah kueri yang serupa.
- Tipe data dari semua kolom yang sesuai harus kompatibel.
Operator UNION biasanya digunakan untuk menggabungkan data dari tabel terkait yang belum dinormalisasi dengan sempurna.
Dalam tutorial PostgreSQL ini, Anda akan belajar:
- Apa itu PostgreSQL Union?
- Sintaksis
- Persatuan
- Serikat Semua
- DIPESAN OLEH
- Kapan menggunakan Union dan Kapan menggunakan Union all?
- Menggunakan pgAdmin
Sintaksis
SELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)]UNIONSELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)];
Berikut penjelasan parameter di atas:
Ekspresi_1, ekspresi_2,… ekspresi_n adalah kalkulasi atau kolom yang perlu Anda ambil.
Tabel adalah tabel tempat Anda perlu mengambil rekaman.
Kondisi WHERE adalah kondisi yang harus dipenuhi agar rekaman diambil.
Catatan: karena operator UNION tidak mengembalikan duplikat, penggunaan UNION DISTINCT tidak akan berdampak pada hasil.
Persatuan
Operator UNION menghapus duplikat. Mari kita tunjukkan ini.
Kami memiliki database bernama Demo dengan tabel berikut:
Book:
Harga:
Mari kita jalankan perintah berikut:
SELECT idFROM BookUNIONSELECT idFROM Price;
Perintah akan mengembalikan yang berikut:
Kolom id muncul di tabel Book dan Price. Namun, itu hanya muncul sekali dalam hasil. Alasannya adalah operator PostgreSQL UNION tidak mengembalikan duplikat.
Serikat Semua
Operator ini menggabungkan kumpulan hasil dari lebih dari satu pernyataan SELECT tanpa menghapus duplikat. Operator mengharuskan setiap pernyataan SELECT memiliki jumlah bidang yang sama dalam kumpulan hasil dari tipe data yang serupa.
Sintaksis:
SELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)]UNION ALLSELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)];
Berikut penjelasan parameter di atas:
Ekspresi_1, ekspresi_2,… ekspresi_n adalah kalkulasi atau kolom yang perlu Anda ambil.
Tabel adalah tabel tempat Anda perlu mengambil rekaman.
Kondisi WHERE adalah kondisi yang harus dipenuhi agar rekaman diambil.
Catatan: Kedua ekspresi harus memiliki jumlah ekspresi yang sama.
Kami akan menggunakan tabel berikut:
Book:
Harga:
Jalankan perintah berikut:
SELECT idFROM BookUNION ALLSELECT idFROM price;
Ini harus mengembalikan yang berikut:
Duplikat belum dihapus.
DIPESAN OLEH
Operator PostgreSQL UNION dapat digunakan bersama dengan klausa ORDER BY untuk mengurutkan hasil kueri. Untuk mendemonstrasikan ini, kami akan menggunakan tabel berikut:
Harga:
Harga2:
Berikut adalah perintah yang menunjukkan cara menggunakan operator UNION bersama dengan klausa ORDER BY:
SELECT *FROM PriceUNIONSELECT *FROM Price2ORDER BY price;
Perintah akan mengembalikan yang berikut:
Catatan diurutkan berdasarkan kolom harga. Klausa mengurutkan rekaman dalam urutan menaik secara default. Untuk mengurutkan mereka dalam urutan menurun, tambahkan klausa DESC seperti yang ditunjukkan di bawah ini:
SELECT *FROM PriceUNIONSELECT *FROM Price2ORDER BY price DESC;
Perintah akan mengembalikan yang berikut:
Catatan telah dipesan berdasarkan kolom harga dalam urutan menurun.
Kapan menggunakan Union dan Kapan menggunakan Union all?
Gunakan operator UNION jika Anda memiliki beberapa tabel dengan struktur yang mirip tetapi dipisahkan karena suatu alasan. Ini bagus ketika Anda perlu menghapus / menghilangkan catatan duplikat.
Gunakan operator UNION ALL saat Anda tidak perlu menghapus / menghilangkan rekaman duplikat.
Menggunakan pgAdmin
Sekarang mari kita lihat bagaimana ketiga tindakan dilakukan menggunakan pgAdmin.
Persatuan
Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:
Langkah 1) Masuk ke akun pgAdmin Anda.
Langkah 2)
- Dari bilah navigasi di sebelah kiri- Klik Database.
- Klik Demo.
Langkah 3) Ketik kueri di editor kueri:
SELECT *FROM PriceUNIONSELECT *FROM Price2ORDER BY price DESC;
Langkah 4) Klik tombol Execute.
Ini harus mengembalikan yang berikut:
Serikat Semua
Langkah 1) Masuk ke akun pgAdmin Anda.
Langkah 2)
- Dari bilah navigasi di sebelah kiri, klik Database.
- Klik Demo.
Langkah 3) Ketik kueri di editor kueri:
SELECT idFROM BookUNION ALLSELECT idFROM price;
Langkah 4) Klik tombol Execute.
Ini harus mengembalikan yang berikut:
DIPESAN OLEH
Operator UNION ALL dapat digabungkan dengan klausa ORDER BY untuk mengurutkan hasil dalam set hasil. Sebagai contoh:
SELECT idFROM BookUNION ALLSELECT idFROM priceORDER BY id;
Perintah akan mengembalikan yang berikut:
Hasilnya sudah dipesan.
Ringkasan:
- Operator UNION PostgreSQL menggabungkan hasil dari lebih dari satu pernyataan SELECT menjadi satu set hasil.
- Operator UNION tidak mengembalikan rekaman duplikat.
- Untuk mengurutkan hasil, gabungkan dengan klausa ORDER BY.
- Operator UNION ALL menggabungkan hasil dari lebih dari satu pernyataan SELECT menjadi satu set hasil.
- Operator UNION ALL tidak menghapus duplikat.
Unduh Basis Data yang digunakan dalam Tutorial ini