PostgreSQL Hapus Kueri (Hapus Baris dari Pilihan)

Hapus Kueri di PostgreSQL

Hapus Pernyataan in PostgreSQL digunakan untuk menghapus satu atau lebih record dari tabel. Jika Anda ingin menghapus baris tertentu dari tabel PostgreSQL memungkinkan Anda untuk menggabungkan pernyataan DELETE dengan klausa WHERE jika tidak maka akan menghapus semua catatan.

Sintaks Kueri Hapus Postgres

Pernyataan DELETE dapat didefinisikan dengan sintaks di bawah ini:

[ WITH [ RECURSIVE ] with-query [, ...] ]
DELETE FROM [ ONLY ] table-name [ * ] [ [ AS ] alias ]
    [ USING using-list ]
    [ WHERE condition(s) | WHERE CURRENT OF cursor-name]
    [ RETURNING * | output-expression [ [ AS ] output-name] [, ...] ]

Parameters

  • dengan-kueri: klausa WITH memungkinkan kita mereferensikan satu atau lebih subkueri untuk direferensikan berdasarkan nama dalam kueri DELETE.
  • nama tabel: nama tabel yang datanya akan dihapus.
  • alias: ini adalah pengganti nama tabel target.
  • menggunakan-daftar: ekspresi tabel untuk memungkinkan kolom dari tabel lain digunakan dalam klausa WHERE.
  • kondisi): opsional. Ini adalah kondisi yang harus dipenuhi agar catatan dapat dihapus. Jika bagian ini tidak disediakan, semua catatan nama tabel akan dihapus.
  • nama kursor: kursor yang akan digunakan pada kondisi WHERE CURRENT OF. Baris terakhir yang diambil oleh kursor ini akan dihapus.
  • ekspresi keluaran: ekspresi yang akan diproses dan dikembalikan oleh pernyataan DELETE setelah penghapusan setiap baris.
  • nama-keluaran: nama yang akan digunakan untuk kolom yang dikembalikan.

Perhatikan bahwa karena pernyataan DELETE menghapus seluruh baris, Anda tidak perlu menentukan nama kolom.

PostgreSQL Hapus Kueri dengan Satu Syarat

Pernyataan DELETE dapat digunakan dengan satu kondisi. Kondisi tersebut ditetapkan menggunakan klausa WHERE. Perhatikan tabel Harga dengan data berikut:

Harga

PostgreSQL Hapus Kueri dengan Satu Syarat

Mari kita hapus record dengan id 4:

DELETE FROM Price
WHERE id = 4;

Perintah di atas akan menghapus record yang idnya 4. Mari kita konfirmasi apakah penghapusan berhasil:

PostgreSQL Hapus Kueri dengan Satu Syarat

Baris dengan id 4 telah dihapus.

Hapus Kueri dengan Dua Kondisi

PostgreSQL Pernyataan DELETE dapat mengambil dua kondisi. Kedua kondisi tersebut harus digabungkan menggunakan operator AND. Kita akan menggunakan tabel berikut:

Harga:

PostgreSQL Hapus Kueri dengan Dua Kondisi

Perhatikan contoh yang diberikan di bawah ini:

DELETE FROM Price
WHERE id = 3Y
AND price = 300;

Pada perintah di atas, kita menghapus baris yang idnya 3, dan harganya 300. Sekarang kita bisa menanyakan tabelnya:

SELECT * FROM Price

Ini mengembalikan yang berikut:

PostgreSQL Hapus Kueri dengan Dua Kondisi

Catatan dengan id 3 dan harga 300 telah dihapus.

PostgreSQL Hapus Kueri menggunakan Kondisi yang Ada

Dengan kondisi EXISTS, Anda dapat membuat DELETE lebih rumit. Terkadang, mungkin ada kebutuhan untuk menghapus data dalam satu tabel berdasarkan data di tabel lain.

Anda akan melihat bahwa klausa FROM tidak memungkinkan Anda untuk mencantumkan data dari lebih dari satu tabel saat melakukan penghapusan, klausa EXISTS menjadi sangat berguna. Kita memiliki dua tabel berikut:

Book:

PostgreSQL Hapus Kueri menggunakan Kondisi yang Ada

Harga:

PostgreSQL Hapus Kueri menggunakan Kondisi yang Ada

Kita kemudian dapat menjalankan kueri berikut:

DELETE FROM Book
WHERE EXISTS
  (SELECT 1
    FROM Price
    WHERE Price.id = Book.id
    AND price < 250 );

Perintah di atas akan menghapus dari tabel Buku jika terdapat catatan di tabel Harga dengan id yang cocok dengan tabel Buku dan harganya kurang dari 250.

Tabel Buku sekarang sebagai berikut:

PostgreSQL Hapus Kueri menggunakan Kondisi yang Ada

Catatan dengan id 1 telah dihapus.

Cara Menghapus Baris di PostgreSQL menggunakan pgAdmin

Berikut adalah langkah-langkah untuk menghapus baris di PostgreSQL menggunakan pgAdmin:

Dengan Satu syarat

Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:

Langkah 1) Masuk ke akun pgAdmin Anda

Buka pgAdmin dan Masuk ke akun Anda menggunakan kredensial Anda

Langkah 2) Buat Basis Data Demo

  1. Dari bilah navigasi di sebelah kiri- Klik Database.
  2. Klik Demo.

Hapus Baris masuk PostgreSQL

Langkah 3) Ketik Kueri

Ketik kueri di bawah ini di editor kueri:

DELETE FROM Price
WHERE id = 4;

Langkah 4) Jalankan Kueri

Klik tombol Jalankan

Hapus Baris masuk PostgreSQL

Langkah 5) Periksa apakah Baris Dihapus

Mari kita periksa apakah penghapusan berhasil:

Hapus Baris masuk PostgreSQL

Dengan Dua syarat

Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:

Langkah 1) Masuk ke akun pgAdmin Anda.

Langkah 2)

  1. Dari bilah navigasi di sebelah kiri- Klik Database.
  2. Klik Demo.

Hapus Baris masuk PostgreSQL

Langkah 3) Ketik kueri di editor kueri:

DELETE FROM Price
WHERE id = 3
AND price = 300;

Langkah 4) Klik tombol Jalankan.

Hapus Baris masuk PostgreSQL

Langkah 5) Mari kita periksa apakah penghapusan berhasil:

Hapus Baris masuk PostgreSQL

Menggunakan Kondisi EXISTS

Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:

Langkah 1) Masuk ke akun pgAdmin Anda.

Langkah 2)

  1. Dari bilah navigasi di sebelah kiri- Klik Database.
  2. Klik Demo.

Hapus Baris menggunakan Kondisi EXISTS

Langkah 3) Ketik kueri di editor kueri:

DELETE FROM Book
WHERE EXISTS
  (SELECT 1
    FROM Price
    WHERE Price.id = Book.id
    AND price < 250 );

Langkah 4) Klik tombol Jalankan.

Hapus Baris menggunakan Kondisi EXISTS

Langkah 5) Mari kita periksa apakah penghapusan berhasil:

Hapus Baris menggunakan Kondisi EXISTS

Kesimpulan

  • Pernyataan DELETE digunakan untuk menghapus satu atau lebih record dari tabel.
  • Untuk menghapus hanya baris tertentu dari tabel, Anda dapat menggabungkan pernyataan DELETE dengan klausa WHERE.
  • Jika klausa DELETE digunakan tanpa klausa WHERE, maka semua record dari tabel akan terhapus.
  • Parameter nama tabel memungkinkan Anda menambahkan nama tabel dari mana catatan akan dihapus.
  • Kita dapat menggunakan pernyataan DELETE dengan satu syarat, yang ditentukan menggunakan klausa WHERE.
  • Pernyataan DELETE juga dapat digunakan dengan dua kondisi yang ditentukan dalam klausa WHERE. Kedua kondisi tersebut harus digabungkan menggunakan operator AND.
  • ADA kondisi dapat membantu kita menghapus record dari suatu tabel berdasarkan record dari tabel lain.

Unduh Database yang digunakan dalam Tutorial ini