PostgreSQL Există cu exemplu de selectare, inserare, actualizare și ștergere
Ce este Există în PostgreSQL?
PostgreSQL EXISTĂ operatorul testează dacă un rând(e) există într-o subinterogare. Aceasta înseamnă că operatorul este utilizat împreună cu o subinterogare. Operatorul Există se spune că a fost îndeplinit atunci când cel puțin un rând este găsit în subinterogare. Puteți utiliza această operație împreună cu instrucțiunile SELECT, UPDATE, INSERT și DELETE.
Sintaxa de interogare Postgres există
Iată sintaxa pentru PostgreSQL Declarație EXISTS:
WHERE EXISTS (subquery);
Sintaxa de mai sus arată că operatorul EXISTS preia un argument, care este o subinterogare. Subinterogarea este pur și simplu a instrucțiunea SELECT care ar trebui să înceapă cu un SELECT * în loc de o listă de nume de coloane sau expresii.
PostgreSQL Există cu instrucțiunea SELECT
Să vedem cum să folosim o instrucțiune SELECT cu operatorul EXISTS. Avem următoarele tabele:
Carte:
Preț:
Rulați următoarea instrucțiune:
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Aceasta returnează următoarele:
Comanda de mai sus ar trebui să returneze toate înregistrările din tabelul Book al căror id se potrivește cu id-ul oricăror înregistrări din subinterogare. Un singur ID a fost potrivit. Prin urmare, a fost returnată o singură înregistrare.
PostgreSQL Există cu instrucțiunea INSERT
Putem folosi operatorul EXISTS într-un instrucțiunea INSERT. Avem următoarele 3 tabele:
Carte:
Preț:
Preț 2:
Apoi putem rula următoarea instrucțiune:
INSERT INTO Price SELECT id, price FROM Price2 WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
Tabelul de prețuri este acum după cum urmează:
Rândul cu id-ul 5 din tabelul numit Preț2 a fost potrivit. Această înregistrare a fost apoi inserată în tabelul de prețuri.
Postgres există cu instrucțiunea UPDATE
Putem folosi operatorul EXISTS într-o instrucțiune UPDATE.
Rulați următoarea interogare:
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);
Actualizăm coloana de preț a tabelului de prețuri. Scopul nostru este ca prețurile articolelor care au un ID să fie aceleași. Doar un rând a fost potrivit, adică 5.
Cu toate acestea, deoarece prețurile sunt egale, adică 205, nu s-a făcut nicio actualizare. Dacă ar fi fost o diferență, ar fi fost făcută o actualizare.
Postgres există cu instrucțiunea DELETE
A PostgreSQL Instrucțiunea DELETE poate folosi operatorul EXISTS. Iată un exemplu:
DELETE FROM Price WHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
Tabelul de prețuri este acum după cum urmează:
Rândul cu ID-ul 5 a fost șters.
PostgreSQL Declarație Exist folosind pgAdmin
Acum să vedem cum pot fi efectuate aceste acțiuni folosind pgAdmin:
Cum se utilizează Interogarea existentă în PostgreSQL cu instrucțiunea SELECT folosind pgAdmin
Mai jos sunt pașii pentru a utiliza interogarea Există PostgreSQL cu instrucțiunea SELECT folosind pgAdmin:
Pasul 1) Conectați-vă la contul dvs. pgAdmin
Deschideți pgAdmin și conectați-vă la contul dvs. folosind datele de conectare
Pasul 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.
Pasul 3) Introduceți interogarea
Introduceți interogarea de mai jos în editorul de interogări:
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Pasul 4) Executați interogarea
Faceți clic pe butonul Execute
Ar trebui să returneze următoarele:
Cu instrucțiunea INSERT
Pentru a realiza același lucru prin pgAdmin, procedați astfel:
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:
INSERT INTO Price SELECT id, price FROM Price2 WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
Pas 4) Faceți clic pe butonul Execute.
Tabelul de prețuri ar trebui să fie acum după cum urmează:
Cu Declarație UPDATE
Pentru a realiza același lucru prin pgAdmin, procedați astfel:
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:
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);
Pas 4) Faceți clic pe butonul Execute.
Tabelul de prețuri ar trebui să fie acum după cum urmează:
Cu instrucțiunea DELETE
Pentru a realiza același lucru prin pgAdmin, procedați astfel:
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 EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
Pas 4) Faceți clic pe butonul Execute.
Tabelul de prețuri ar trebui să fie acum după cum urmează:
Rezumat
- Operatorul EXISTS testează dacă un rând(e) există într-o subinterogare.
- Este folosit cu o subinterogare și se spune că a fost îndeplinit atunci când subinterogarea returnează cel puțin un rând.
- Este folosit împreună cu instrucțiunile SELECT, UPDATE, INSERT și DELETE.
Descărcați baza de date folosită în acest tutorial