PostgreSQL există cu exemple

ce este PostgreSQL există?

operatorul EXISTS testează dacă există un rând(rânduri) într-o subinterogare. Aceasta înseamnă că Operatorul este utilizat împreună cu o subinterogare. Se spune că operatorul Exists a fost îndeplinit atunci când cel puțin un rând se găsește în subinterogare. Puteți utiliza această operație împreună cu SELECT, UPDATE, INSERT și DELETE declarații.

în acest Tutorial PostgreSQL, veți afla următoarele:

  • sintaxă
  • cu select Statement
  • cu INSERT Statement
  • cu Update Statement
  • cu DELETE Statement
  • cu pgAdmin

sintaxă

aici este sintaxa pentru PostgreSQL există declarație:

WHERE EXISTS (subquery);

sintaxa de mai sus arată că operatorul EXISTS preia un argument, care este un subquery. Subinterogarea este pur și simplu o instrucțiune SELECT care ar trebui să înceapă cu un SELECT * în loc de o listă de nume de coloane sau expresii.

cu instrucțiunea SELECT

să vedem cum se utilizează o instrucțiune SELECT cu operatorul EXISTS. Avem următoarele tabele:

carte:

Preț:

rulați următoarea declarație:

SELECT *FROM BookWHERE 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 de carte al cărui id se potrivește cu id-ul oricărei înregistrări de către subinterogare. Doar un singur id a fost potrivit. Prin urmare, a fost returnată o singură înregistrare.

cu instrucțiunea INSERT

putem folosi operatorul EXISTS într-o instrucțiune INSERT. Avem următoarele 3 tabele:

carte:

Preț:

Preț2:

putem rula apoi următoarea declarație:

INSERT INTO PriceSELECT id, priceFROM Price2WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);

tabelul de prețuri este acum după cum urmează:

rândul cu un id de 5 în tabelul numit Price2 a fost potrivit. Această înregistrare a fost apoi introdusă în tabelul de prețuri.

cu instrucțiunea de actualizare

putem folosi operatorul EXISTS într-o instrucțiune de actualizare.

rulați următoarea interogare:

UPDATE PriceSET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id)WHERE EXISTS (SELECT id, priceFROM Price2WHERE Price2.id = Price.id);

actualizăm coloana de preț a tabelului de prețuri. Scopul nostru este ca prețurile articolelor care împărtășesc 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 existat o diferență, s-ar fi făcut o actualizare.

cu instrucțiunea DELETE

o declarație de ștergere PostgreSQL poate utiliza operatorul EXISTS. Iată un exemplu:

DELETE FROM PriceWHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);

tabelul de prețuri este acum după cum urmează:

rândul cu un id de 5 a fost șters.

cu pgAdmin

acum să vedem cum pot fi efectuate aceste acțiuni folosind pgAdmin.

cu select Statement

pentru a realiza același lucru prin pgAdmin, faceți acest lucru:

Pasul 1) Conectați-vă la contul dvs.

Pas 2)

  1. din bara de navigare din bazele de date cu clic stânga.
  2. Faceți Clic Pe Demo.

Pasul 3) tastați interogarea în editorul de interogări:

SELECT *FROM BookWHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);

Pasul 4) Faceți clic pe butonul Executare.

ar trebui să returneze următoarele:

cu Inserare declarație

pentru a realiza același lucru prin pgAdmin, faceți acest lucru:

Pasul 1) Conectați-vă la contul dvs.

Pas 2)

  1. din bara de navigare din bazele de date cu clic stânga.
  2. Faceți Clic Pe Demo.

Pasul 3) tastați interogarea în editorul de interogări:

INSERT INTO PriceSELECT id, priceFROM Price2WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);

Pasul 4) Faceți clic pe butonul Executare.

tabelul de prețuri ar trebui să fie acum după cum urmează:

cu instrucțiunea de actualizare

pentru a realiza același lucru prin pgAdmin, faceți acest lucru:

Pasul 1) Conectați-vă la contul dvs.

Pas 2)

  1. din bara de navigare din bazele de date cu clic stânga.
  2. Faceți Clic Pe Demo.

Pasul 3) tastați interogarea în editorul de interogări:

UPDATE PriceSET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id)WHERE EXISTS (SELECT id, priceFROM Price2WHERE Price2.id = Price.id);

Pasul 4) Faceți clic pe butonul Executare.

tabelul de prețuri ar trebui să fie acum după cum urmează:

cu instrucțiunea DELETE

pentru a realiza același lucru prin pgAdmin, faceți acest lucru:

Pasul 1) Conectați-vă la contul dvs.

Pas 2)

  1. din bara de navigare din bazele de date cu clic stânga.
  2. Faceți Clic Pe Demo.

Pasul 3) tastați interogarea în editorul de interogări:

DELETE FROM PriceWHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);

Pasul 4) Faceți clic pe butonul Executare.

tabelul de prețuri ar trebui să fie acum după cum urmează:

rezumat

  • operatorul EXISTS testează dacă există un rând(rânduri) într-o subinterogare.
  • se utilizează cu o subinterogare și se spune că a fost îndeplinită atunci când subinterogarea returnează cel puțin un rând.
  • se utilizează împreună cu instrucțiunile SELECT, UPDATE, INSERT și DELETE.

Descărcați baza de date utilizată în acest Tutorial

Lasă un răspuns

Adresa ta de email nu va fi publicată.

Previous post 2021 renovări și construcții de hoteluri la Disney World
Next post toate sfaturile de care aveți nevoie pentru a face machiajul ochilor pe Monolide