PostgreSQL Persatuan, Persatuan SEMUA dengan Contoh

โšก Ringkasan Cerdas

PostgreSQL UNION menggabungkan hasil dari dua atau lebih pernyataan SELECT menjadi satu set hasil tunggal dan menghapus baris duplikat, sedangkan UNION ALL mempertahankan setiap baris, memberikan opsi yang lebih cepat ketika duplikat tidak menjadi masalah.

  • ๐Ÿ”— Combine: UNION menggabungkan baris dari beberapa pernyataan SELECT menjadi satu set hasil.
  • รฐลธยงยน Duplikat: UNION menghapus baris duplikat, sedangkan UNION ALL mempertahankan setiap baris yang cocok.
  • ๐Ÿ“ Aturan: Setiap pernyataan SELECT harus mengembalikan jumlah kolom yang sama dengan tipe data yang kompatibel.
  • ๏ธ DIPESAN OLEH: Satu klausa ORDER BY di akhir akan mengurutkan kumpulan hasil gabungan.
  • โšก Kinerja: UNION ALL berjalan lebih cepat karena melewati langkah penghapusan duplikat.
  • ๐Ÿค– Bantuan AI: Asisten AI menyelaraskan kolom dan memilih antara UNION dan UNION ALL.

PostgreSQL UNION dan UNION SEMUA

Apa itu PostgreSQL Persatuan?

The PostgreSQL Operator UNION digunakan untuk menggabungkan kumpulan hasil dari lebih dari satu pernyataan SELECT menjadi satu kumpulan hasil. Setiap baris duplikat dari hasil pernyataan SELECT akan dihilangkan. Operator UNION bekerja dalam dua kondisi:

  • Kueri SELECT harus mengembalikan jumlah kolom yang sama.
  • Tipe data dari semua kolom terkait harus kompatibel.

Operator UNION biasanya digunakan untuk menggabungkan data dari tabel terkait yang belum dinormalisasi secara sempurna.

Sintaksis

SELECT expression_1, expression_2, ... expression_n
FROM tables
[WHERE condition(s)]
UNION
SELECT expression_1, expression_2, ... expression_n
FROM tables
[WHERE condition(s)];

Berikut penjelasan parameter di atas:

Ekspresi_1, ekspresi_2,โ€ฆ ekspresi_n adalah penghitungan atau kolom yang perlu Anda ambil.

Tabel adalah tabel tempat Anda perlu mengambil catatan.

Kondisi WHERE adalah kondisi yang harus dipenuhi agar rekaman dapat diambil.

Catatan: Karena operator UNION tidak mengembalikan duplikat, penggunaan UNION DISTINCT tidak akan berdampak pada hasilnya.

PostgreSQL Serikat

Operator UNION menghapus duplikat, dengan cara yang sama seperti PILIH BERBEDA Ya, benar. Mari kita demonstrasikan. Kita memiliki basis data bernama Demo dengan tabel-tabel berikut:

Book:

PostgreSQL Serikat

Harga:

PostgreSQL Serikat

Mari kita jalankan perintah berikut:

SELECT id
FROM Book
UNION
SELECT id
FROM Price;

Perintah tersebut akan mengembalikan hasil berikut:

PostgreSQL Serikat

Kolom id muncul di tabel Buku dan Harga. Namun, hasilnya hanya muncul sekali. Alasannya adalah itu PostgreSQL Operator UNION tidak mengembalikan data duplikat.

PostgreSQL Persatuan 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 dengan tipe data serupa.

sintaks:

SELECT expression_1, expression_2, ... expression_n
FROM tables
[WHERE condition(s)]
UNION ALL
SELECT expression_1, expression_2, ... expression_n
FROM tables
[WHERE condition(s)];

Berikut penjelasan parameter di atas:

Ekspresi_1, ekspresi_2,โ€ฆ ekspresi_n adalah penghitungan atau kolom yang perlu Anda ambil.

Tabel adalah tabel tempat Anda perlu mengambil catatan.

Kondisi WHERE adalah kondisi yang harus dipenuhi agar rekaman dapat diambil.

Catatan: Kedua pernyataan SELECT harus memiliki jumlah ekspresi yang sama.

Kami akan menggunakan tabel berikut:

Book:

PostgreSQL Persatuan Semua

Harga:

PostgreSQL Persatuan Semua

Jalankan perintah berikut:

SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

Seharusnya mengembalikan hal berikut:

PostgreSQL Persatuan Semua

Duplikatnya belum dihapus.

DIPESAN OLEH

The PostgreSQL Operator UNION dapat digunakan bersama dengan klausa ORDER BY untuk mengurutkan hasil kueri. Untuk menunjukkan hal ini, kami akan menggunakan tabel berikut:

Harga:

DIPESAN OLEH

Harga2:

DIPESAN OLEH

Berikut adalah perintah yang menunjukkan cara menggunakan operator UNION bersama dengan klausa ORDER BY:

SELECT *
FROM Price
UNION
SELECT *
FROM Price2
ORDER BY price;

Perintah tersebut akan mengembalikan hasil berikut:

DIPESAN OLEH

Catatan diurutkan berdasarkan kolom harga. Klausa ini mengurutkan catatan dalam urutan menaik secara default. Untuk mengurutkannya dalam urutan menurun, tambahkan klausa DESC seperti yang ditunjukkan di bawah ini:

SELECT *
FROM Price
UNION
SELECT *
FROM Price2
ORDER BY price DESC;

Perintah tersebut akan mengembalikan hasil berikut:

DIPESAN OLEH

Catatan telah diurutkan berdasarkan kolom harga dalam urutan menurun.

Kapan menggunakan Union dan kapan menggunakan Union All?

Gunakan operator UNION ketika Anda memiliki beberapa tabel dengan struktur serupa tetapi dipisahkan karena suatu alasan. Ini berguna ketika Anda perlu menghapus atau menghilangkan data duplikat.

Gunakan operator UNION ALL ketika Anda tidak perlu menghapus atau menghilangkan data duplikat.

Menggunakan pgAdmin

Sekarang mari kita lihat bagaimana ketiga tindakan tersebut dilakukan menggunakan pgAdmin.

Cara Menggunakan PostgreSQL Persatuan Menggunakan pgAdmin

Berikut adalah proses langkah demi langkah tentang cara menggunakan PostgreSQL UNION melalui pgAdmin:

Langkah 1) Masuk ke akun pgAdmin Anda.

Langkah 2) Dari bilah navigasi di sebelah kiri, klik Database, lalu klik Demo.

penggunaan PostgreSQL Persatuan Menggunakan pgAdmin

Langkah 3) Ketik kueri di editor kueri:

SELECT *
FROM Price
UNION
SELECT *
FROM Price2
ORDER BY price DESC;

Langkah 4) Klik tombol Jalankan.

penggunaan PostgreSQL Persatuan Menggunakan pgAdmin

Seharusnya mengembalikan hal berikut:

penggunaan PostgreSQL Persatuan Menggunakan pgAdmin

Persatuan Semua

Langkah 1) Masuk ke akun pgAdmin Anda.

Langkah 2) Dari bilah navigasi di sebelah kiri, klik Database, lalu klik Demo.

penggunaan PostgreSQL Gabungkan Semua Menggunakan pgAdmin

Langkah 3) Ketik kueri di editor kueri:

SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

Langkah 4) Klik tombol Jalankan.

penggunaan PostgreSQL Gabungkan Semua Menggunakan pgAdmin

Seharusnya mengembalikan hal berikut:

penggunaan PostgreSQL Gabungkan Semua Menggunakan pgAdmin

DIPESAN OLEH

Operator UNION ALL dapat digabungkan dengan klausa ORDER BY untuk mengurutkan hasil dalam kumpulan hasil. Misalnya:

SELECT id
FROM Book
UNION ALL
SELECT id
FROM price
ORDER BY id;

Perintah tersebut akan mengembalikan hasil berikut:

penggunaan PostgreSQL ORDER DENGAN Menggunakan pgAdmin

Hasilnya telah dipesan.

Unduh Database yang digunakan dalam Tutorial ini

Pertanyaan Umum Demo Slot

UNION ALL lebih cepat karena hanya menggabungkan baris. UNION harus mengurutkan atau melakukan hashing pada baris yang digabungkan untuk menghilangkan duplikat, yang menambah beban kerja. Jika duplikat tidak menjadi masalah, UNION ALL adalah pilihan yang lebih efisien.

Ya. Setiap pernyataan SELECT dalam UNION harus mengembalikan jumlah kolom yang sama, dan kolom yang cocok harus memiliki tipe data yang kompatibel dalam urutan yang sama. Jika tidak, akan terjadi kesalahan. PostgreSQL Menimbulkan kesalahan dan kueri gagal.

Ya. Nama kolom dapat berbeda karena UNION mencocokkan kolom berdasarkan posisi, bukan berdasarkan nama. Tipe data tetap harus kompatibel, dan hasil set menggunakan nama kolom dari pernyataan SELECT pertama.

UNION menggabungkan baris dari dua set hasil secara vertikal menjadi satu daftar kolom, menghilangkan duplikat. JOIN menggabungkan kolom dari tabel yang berbeda secara horizontal berdasarkan kunci terkait, sehingga memperlebar baris alih-alih menambahkannya.

ORDER BY mengurutkan hasil gabungan akhir, jadi PostgreSQL Hanya mengizinkan satu klausa ORDER BY yang ditempatkan setelah SELECT terakhir. Mengurutkan setiap kueri secara individual terlebih dahulu akan menjadi tidak berarti setelah baris-barisnya digabungkan.

Asisten AI seperti GitHub Copilot menyelaraskan daftar kolom dari setiap SELECT, menandai tipe data yang tidak cocok, dan merekomendasikan UNION atau UNION ALL berdasarkan apakah duplikat harus dipertahankan, sehingga mengurangi kesalahan kueri umum.

Ya. Dengan memeriksa tabel dan tujuan Anda, asisten AI dapat mengetahui apakah baris duplikat dimungkinkan dan relevan, kemudian menyarankan UNION ALL ketika duplikat dapat diterima untuk meningkatkan kecepatan, atau UNION ketika duplikat harus dihapus.

UNION mengembalikan baris yang ditemukan di kedua kueri. INTERSECT hanya mengembalikan baris yang ada di kedua kueri, dan EXCEPT mengembalikan baris di kueri pertama tetapi tidak di kueri kedua. Ketiganya menghapus duplikat secara default.

Ringkaslah postingan ini dengan: