PostgreSQL ȘTERGERE Rânduri din Selectare
⚡ Rezumat inteligent
PostgreSQL Operația DELETE elimină unul sau mai multe rânduri dintr-un tabel, iar asocierea acesteia cu o clauză WHERE vizează doar înregistrările care îndeplinesc o condiție, în timp ce omiterea operației WHERE șterge fiecare rând din tabel.

Ștergeți interogarea în PostgreSQL
Declarația DELETE in PostgreSQL este utilizat pentru a șterge una sau mai multe înregistrări dintr-un tabel. Pentru a șterge doar rândurile selectate dintr-un tabel, PostgreSQL vă permite să combinați instrucțiunea DELETE cu clauza WHERE; în caz contrar, șterge toate înregistrările din tabel.
PostgreSQL Ștergere sintaxă interogare
Instrucțiunea DELETE poate fi definită folosind sintaxa următoare:
[ 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] [, ...] ]
parametrii
Sunt disponibili următorii parametri:
- cu-interogareClauza WITH vă permite să faceți referire la una sau mai multe subinterogări după nume în cadrul interogării DELETE.
- nume-tabel: numele tabelului din care urmează să fie șterse înregistrările.
- alias: un substitut pentru numele tabelului țintă.
- folosind-listă: expresii de tabel care permit utilizarea coloanelor din alte tabele în clauza WHERE.
- condiție(i): opțional. Acestea sunt condițiile care trebuie îndeplinite pentru ca înregistrările să fie șterse. Dacă această secțiune nu este furnizată, toate înregistrările cu nume de tabel vor fi șterse.
- cursor-nume: cursorul care va fi utilizat în condiția WHERE CURRENT OF. Ultimul rând preluat de acest cursor va fi șters.
- ieșire-expresie: expresia care va fi procesată și returnată de instrucțiunea DELETE după ștergerea fiecărui rând.
- nume-ieșire: numele care va fi folosit pentru coloana returnată.
Rețineți că, deoarece instrucțiunea DELETE șterge întregul rând, nu este nevoie să specificați numele coloanelor.
PostgreSQL Ștergeți interogarea cu o condiție
Instrucțiunea DELETE poate fi utilizată cu o singură condiție, care este setată folosind clauza WHERE. Luați în considerare tabelul Price cu următoarele date:
Preț:
Să ștergem înregistrarea cu un id de 4:
DELETE FROM Price WHERE id = 4;
Comanda de mai sus șterge înregistrările în care id-ul este 4. Să confirmăm dacă ștergerea a reușit:
Rândul cu ID-ul 4 a fost șters.
Ștergeți interogarea cu două condiții
PostgreSQL Instrucțiunea DELETE poate accepta și două condiții. Cele două condiții trebuie unite folosind operatorul AND. Vom folosi următorul tabel:
Preț:
Luați în considerare exemplul de mai jos:
DELETE FROM Price WHERE id = 3 AND price = 300;
În comanda de mai sus, ștergem rândul în care id-ul este 3 și prețul este 300. Acum putem interoga tabelul:
SELECT * FROM Price;
Aceasta returnează următoarele:
Înregistrarea cu un id de 3 și un preț de 300 a fost șters.
PostgreSQL Ștergerea interogării folosind condiția EXISTS
Cu EXISTĂ condiție, puteți face ca ȘTERGEREA să fie mai complexă. Uneori, poate fi nevoie să ștergeți înregistrări dintr-un tabel pe baza înregistrărilor dintr-un alt tabel.
Deoarece clauza FROM nu permite listarea înregistrărilor din mai multe tabele atunci când se efectuează o ștergere, clauza EXISTS devine foarte utilă. Avem următoarele două tabele:
Carte:
Preț:
Apoi putem rula următoarea interogare:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Comanda șterge rândurile din tabelul Book care au un ID corespunzător în tabelul Price cu un preț sub 250.
Tabelul Cărții este acum după cum urmează:
Înregistrarea cu id-ul 1 a fost ștearsă.
Cum se șterge un rând în PostgreSQL folosind pgAdmin
Aceleași interogări de ștergere pot fi executate vizual și prin interfața pgAdmin, urmând pașii de mai jos:
Cu o singură condiție
Pas 1) Conectați-vă la contul dvs. pgAdmin. Deschideți pgAdmin și conectați-vă la contul dvs. folosind datele de autentificare.
Pas 2) Creați o bază de date demonstrativă.
- Din bara de navigare din stânga, faceți clic pe Baze de date.
- Faceți clic pe Demo.
Pas 3) Introduceți interogarea de mai jos în editorul de interogări:
DELETE FROM Price WHERE id = 4;
Pas 4) Faceți clic pe butonul Execute.
Pas 5) Să verificăm dacă rândul a fost șters:
Cu două condiții
Pas 1) Conectați-vă la contul dvs. pgAdmin.
Pas 2)
- Din bara de navigare din stânga, faceți clic pe Baze de date.
- Faceți clic pe Demo.
Pas 3) Introduceți interogarea în editorul de interogări:
DELETE FROM Price WHERE id = 3 AND price = 300;
Pas 4) Faceți clic pe butonul Execute.
Pas 5) Să verificăm dacă ștergerea a avut succes:
Utilizarea EXISTS Condition
Pas 1) Conectați-vă la contul dvs. pgAdmin.
Pas 2)
- Din bara de navigare din stânga, faceți clic pe Baze de date.
- Faceți clic pe Demo.
Pas 3) Introduceți interogarea în editorul de interogări:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Pas 4) Faceți clic pe butonul Execute.
Pas 5) Să verificăm dacă ștergerea a avut succes:
Descărcați baza de date folosită în acest tutorial
















