Gabung Penuh di PostgreSQL

Istilah Full Join atau Full Outer Join telah digunakan secara bergantian. Gabung Penuh adalah kombinasi dari Gabung Kiri dan Gabung Kanan. Ini menampilkan semua catatan yang cocok atau tidak cocok. Di PostgreSQL, istilah Gabung Penuh telah digunakan untuk mengambil semua catatan setiap kali data telah dicocokkan dengan tabel apa pun, misalnya kiri atau kanan. Artikel ini bermanfaat bagi mereka yang kurang memahami tentang Gabung Penuh. Untuk memahami konsep Gabung Penuh, kita akan melalui beberapa contoh. Jadi, mari buka GUI pgAdmin PostgreSQL Anda dari bilah tugas Windows 10.

Buat Tabel:

Untuk memahami Full Join, user PostgreSQL harus memiliki dua tabel di sistem mereka. Jadi, kita akan membuat dua tabel dan memasukkan record di dalamnya. Buka editor kueri dalam database Postgres pgAdmin. Pertama, kami telah membuat tabel bernama “Wvegs” menggunakan perintah CREATE TABLE di editor kueri. Tabel ini merupakan catatan untuk sayuran yang diproduksi di musim dingin. Tabel berisi kolom WID dan Wname. Pernyataan INSERT INTO telah digunakan untuk menyisipkan nilai dalam kedua kolom tabel “Wvegs”. Ikon “Jalankan” dari bilah tugas pgAdmin telah digunakan untuk memproses dua kueri yang disebutkan di bawah ini.

CREATE TABLE Wvegs ( WID INT PRIMARY KEY, Wname VARCHAR (250) NOT NULL);

INSERT INTO Wvegs (WID, Wname) VALUES (1, ‘Onion’), (2, ‘Cabbage’), (3, ‘Cauliflower’), (4, ‘Carrot’), (5, ‘Broccoli’);

Pesan sukses pada layar output menunjukkan bahwa data telah dimasukkan ke dalam tabel dengan benar. Mari kita ambil catatan tabel “Wvegs” menggunakan opsi “Lihat/Edit Data” dengan mengklik kanan pada tabel. Kami telah menambahkan dua catatan lagi dalam tabel ini dari tampilan kisi secara langsung. Query yang digunakan untuk mengambil tabel diberikan sebagai berikut:

SELECT * FROM public.Wvegs ORDER BY WID ASC;

Tabel lain, Svegs, telah dibuat menggunakan perintah CREATE TABLE untuk menyimpan catatan sayuran yang diproduksi di musim panas. Perintah INSERT INTO digunakan di sini untuk menyisipkan catatan dalam tabel ini. Kedua tabel telah berhasil dibuat, seperti yang ditunjukkan oleh output.

CREATE TABLE Svegs ( SID INT PRIMARY KEY, Sname VARCHAR (250) NOT NULL);

INSERT INTO Svegs (SID, Sname) VALUES (1, ‘Tomato’), (2, ‘Potato’), (3, ‘Cucumber’), (4, ‘Mint’), (5, ‘Brinjal’);

Tabel “Svegs” dengan catatan yang dimasukkan dapat diambil menggunakan opsi “Lihat/Edit Data” dengan mengklik kanan pada tabel “Svegs”. Perintah “SELECT” juga dapat digunakan untuk melakukannya, seperti yang diilustrasikan di bawah ini.

SELECT * FROM public.Svegs ORDER BY SID ASC;

Contoh 01: Gabung Penuh Sederhana

Mari kita mulai dengan implementasi Full Join pada contoh pertama kita. Kami telah menggunakan kueri SELECT dalam editor PostgreSQL GUI untuk memilih catatan dari tabel “Svegs” dan “Wvegs”. Kami telah mengambil kedua catatan kolom tabel dalam kueri ini sambil menerapkan kondisi Gabung Penuh pada tabel Wvegs. Semua record dari kedua tabel akan ditampilkan dimana ID tabel “Svegs” dan “Wvegs” sama, misalnya 1 sampai 5. Di sisi lain, Full Join akan menggantikan NULL dimana ID dari Svegs tidak bertemu dengan ID tabel “Wvegs”. Output dari kueri Gabung Penuh yang dinyatakan telah ditunjukkan dalam sekejap.

SELECT SID, Sname, WID, Wname FROM Svegs Full Join Wvegs ON SID = WID;

Jika Anda ingin mengganti klausa kata kunci FULL JOIN dengan FULL OUTER JOIN, Anda juga dapat melakukannya dalam contoh ini. Jadi, kami telah mengganti Gabung Penuh dengan Gabung Luar Penuh dalam permintaan kami untuk melihat hasilnya. Kueri yang tersisa sama seperti yang dinyatakan di bawah. Kami telah menemukan bahwa kedua kueri berfungsi sama, dan hasilnya juga sangat mirip. Output telah ditampilkan di snap juga.

SELECT SID, Sname, WID, Wname FROM Svegs Full Outer Join Wvegs ON SID = WID;

Contoh 02: Tabel-Aliases Menggunakan Full Join

Contoh di atas telah menunjukkan bagaimana Full Join bekerja dengan sempurna untuk mengambil record. Sekarang, kita akan melihat useran Full Join untuk melakukan Table-aliases di database PostgreSQL. Tabel-alias adalah teknik paling sederhana dan kuat yang digunakan dalam PostgreSQL dan database lain untuk memberikan tabel yang akan digunakan dalam Full join, beberapa nama paling sederhana untuk menghindari ketidaknyamanan pada useran nama tabel yang sulit. Ini adalah pengganti nama asli tabel. Sementara Full Join bekerja dengan cara yang sama seperti pada contoh di atas. Jadi, kami telah menggunakan kueri yang sama seperti yang digunakan dalam contoh di atas dengan sedikit pembaruan. Kami telah menetapkan tabel beberapa nama baru sebagai alias, misalnya,s dan w. Kueri di bawah ini menunjukkan output yang sama.

SELECT s.SID, Sname, WID, Wname FROM Svegs s Full Join Wvegs w ON s.SID = w.WID;

Contoh 03: Penggunaan klausa WHERE

Kami akan menggunakan klausa WHERE dalam kueri yang menerapkan Gabung Penuh dalam contoh ini. Instruksi menunjukkan bahwa kueri harus mengambil semua catatan dari kedua tabel kecuali catatan nama sayuran “Mentimun”. Outputnya menunjukkan semua data tetapi tidak ada sayuran dari kedua tabel yang memiliki ID “3”. Karena itu, sayuran “Kembang kol” dari tabel Wvegs juga telah diabaikan karena ID-nya “3”.

SELECT SID, Sname, WID, Wname FROM Svegs FULL JOIN Wvegs ON SID = WID WHERE Sname != ‘Cucumber’;

Contoh 04:

Mari kita perbarui tabel “Wvegs” sedikit. Kami telah menambahkan kolom tambahan, “SID”, di dalamnya. Kami telah menambahkan beberapa catatan di beberapa baris kolom SID, dan beberapa sengaja dibiarkan kosong. Tabel telah disimpan dengan mengetuk ikon Simpan dari bilah tugas.

Setelah pembaruan ini, kami menerapkan Gabung Luar Penuh pada tabel Svegs alih-alih tabel Wvegs seperti yang kami lakukan pada contoh di atas. Kami telah mengambil catatan atas nama kolom SID yang disebutkan di tabel Wvegs dan tabel Svegs saat menggunakan alias. Output menampilkan semua catatan di mana ID dari SID kedua tabel cocok. Ini menampilkan null di mana ID tidak serupa dalam kolom SID di tabel Svegs dan Wvegs.

SELECT WID, Wname, Sname FROM Wvegs w FULL OUTER JOIN Svegs s ON s.SID = w.SID;

Contoh 05:

Mari kita gunakan klausa WHERE dalam kueri di atas yang sama dengan yang digunakan dalam contoh. Gabung Luar Penuh telah diterapkan di sini untuk mengambil baris data dari kedua tabel di mana tabel Wvegs berisi nilai NULL di kolomnya Wname. Output dari nilai kolom berikutnya dari tabel lain, “Sname” berbeda dengan kolom NULL dari Wvegs, kolom “Wname” adalah “Mentimun”.

Di sisi lain, Output dari nilai kolom berikutnya dari tabel lain “Wname”, berbeda dengan kolom NULL
dari kolom Svegs “Sname” adalah “Wortel” dan “Cabe Merah”.

Kesimpulan:

Artikel ini berisi contoh FULL JOIN di PostgreSQL untuk mengumpulkan semua data pada kondisi tertentu terpenuhi. Klausa Gabung Penuh dapat mencapai tujuannya saat digunakan dalam perintah SELECT. Konsep Gabung Penuh menjadi lebih mudah dengan useran alias tabel dan klausa WHERE. Penggunaan Full Join dengan klausa yang disebutkan membuat artikel kami lebih mudah dipahami dan diterapkan untuk user PostgreSQL.

Related Posts