PostgreSQL EXISTS dengan SELECT Operator (Contoh)
โก Ringkasan Cerdas
PostgreSQL EXISTS adalah operator Boolean yang menguji apakah subkueri berkorelasi mengembalikan baris apa pun, sehingga memungkinkan pernyataan SELECT, INSERT, UPDATE, dan DELETE untuk memfilter data berdasarkan ada atau tidaknya catatan yang cocok secara efisien.

Apa yang ADA di PostgreSQL?
The PostgreSQL ADA Operator EXISTS menguji apakah suatu baris ada dalam subkueri. Ini berarti operator ini digunakan bersama dengan subkueri. Operator EXISTS dikatakan telah terpenuhi ketika setidaknya satu baris ditemukan dalam subkueri. Anda dapat menggunakan operasi ini bersama dengan pernyataan SELECT, UPDATE, INSERT, dan DELETE.
PostgreSQL Sintaks Kueri EXISTS
Berikut adalah sintaks untuk PostgreSQL Pernyataan ADA:
WHERE EXISTS (subquery);
Sintaks di atas menunjukkan bahwa operator EXISTS mengambil argumen, yang merupakan subquery. Subkueri hanyalah a PILIH pernyataan yang harus dimulai dengan SELECT * alih-alih daftar nama kolom atau ekspresi.
PostgreSQL EXISTS dengan Pernyataan SELECT
Mari kita lihat cara menggunakan pernyataan SELECT dengan operator EXISTS. Kita memiliki tabel-tabel berikut:
Book:
Harga:
Jalankan pernyataan berikut:
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Ini mengembalikan yang berikut:
Perintah di atas harus mengembalikan semua catatan dalam tabel Buku yang idnya cocok dengan id catatan apa pun berdasarkan subkueri. Hanya satu id yang cocok. Oleh karena itu, hanya satu catatan yang dikembalikan.
PostgreSQL EXISTS dengan Pernyataan INSERT
Kita dapat menggunakan operator EXISTS dalam sebuah pernyataan MASUKKANKami memiliki 3 tabel berikut:
Book:
Harga:
Harga2:
Kita kemudian dapat menjalankan pernyataan berikut:
INSERT INTO Price SELECT id, price FROM Price2 WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
Tabel Harga sekarang sebagai berikut:
Baris dengan id 5 pada tabel bernama Price2 telah cocok. Catatan ini kemudian dimasukkan ke dalam tabel Harga.
PostgreSQL EXISTS dengan Pernyataan UPDATE
Kita dapat menggunakan operator EXISTS dalam pernyataan UPDATE.
Jalankan kueri berikut:
UPDATE Price SET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id) WHERE EXISTS (SELECT id, price FROM Price2 WHERE Price2.id = Price.id);
Kami memperbarui kolom harga pada tabel Harga. Tujuan kami adalah agar harga item yang berbagi id sama. Hanya satu baris yang cocok, yaitu 5.
Namun karena harganya sama yakni 205, maka tidak dilakukan pembaruan. Jika ada perbedaan maka akan dilakukan pembaruan.
PostgreSQL EXISTS dengan Pernyataan DELETE
A PostgreSQL Pernyataan DELETE dapat menggunakan operator EXISTS. Berikut ini contohnya:
DELETE FROM Price WHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
Tabel Harga sekarang sebagai berikut:
Baris dengan id 5 telah dihapus.
PostgreSQL Pernyataan EXISTS menggunakan pgAdmin
Di luar shell SQL, kueri EXISTS yang sama dapat dieksekusi secara visual melalui antarmuka pgAdmin. Sekarang mari kita lihat bagaimana tindakan ini dapat dilakukan menggunakan pgAdmin:
Dengan Pernyataan SELECT
Berikut adalah langkah-langkah untuk menggunakan kueri EXISTS di PostgreSQL dengan pernyataan SELECT menggunakan pgAdmin:
Langkah 1) Masuk ke akun pgAdmin Anda. Buka pgAdmin dan masuk ke akun Anda menggunakan kredensial Anda.
Langkah 2) Buat Basis Data Demo.
- Dari bilah navigasi di sebelah kiri, klik Database.
- Klik Demo.
Langkah 3) Ketik kueri di bawah ini di editor kueri:
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Langkah 4) Klik tombol Jalankan.
Seharusnya mengembalikan hal berikut:
Dengan Pernyataan INSERT
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:
INSERT INTO Price SELECT id, price FROM Price2 WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
Langkah 4) Klik tombol Jalankan.
Tabel Harga sekarang seharusnya seperti berikut:
Dengan Pernyataan UPDATE
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:
UPDATE Price SET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id) WHERE EXISTS (SELECT id, price FROM Price2 WHERE Price2.id = Price.id);
Langkah 4) Klik tombol Jalankan.
Tabel Harga sekarang seharusnya seperti berikut:
Dengan Pernyataan DELETE
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:
DELETE FROM Price WHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
Langkah 4) Klik tombol Jalankan.
Tabel Harga sekarang seharusnya seperti berikut:
Unduh Database yang digunakan dalam Tutorial ini





















