PostgreSQL POSTOJI s primjerima

Sadržaj:

Anonim

Što PostgreSQL postoji?

Operator EXISTS testira postoje li retci u podupitu. To znači da se operator koristi zajedno s podupitom. Kaže se da je operator Exists ispunjen kada se u podupitu pronađe barem jedan redak. Ovu operaciju možete koristiti zajedno s naredbama SELECT, UPDATE, INSERT i DELETE.

U ovom vodiču za PostgreSQL naučit ćete sljedeće:

  • Sintaksa
  • S SELECT izjavom
  • Uz INSERT izjavu
  • Uz UPDATE izjavu
  • Uz IZBRIŠI Izjavu
  • Uz pgAdmin

Sintaksa

Evo sintakse za naredbu PostgreSQL POSTOJI:

WHERE EXISTS (subquery);

Gornja sintaksa pokazuje da operator EXISTS uzima argument, koji je podupit. Potupit je jednostavno SELECT naredba koja treba započeti SELECT * umjesto popisa imena stupaca ili izraza.

S SELECT izjavom

Pogledajmo kako koristiti SELECT naredbu s operatorom EXISTS. Imamo sljedeće tablice:

Knjiga:

Cijena:

Pokrenite sljedeću izjavu:

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

Ovo vraća sljedeće:

Gornja naredba trebala bi vratiti sve zapise u tablici Knjiga čiji se id podudara s ID-om bilo kojeg zapisa u podupitu. Podudaran je samo jedan id. Stoga je vraćen samo jedan zapis.

Uz INSERT izjavu

Operator EXISTS možemo koristiti u INSERT izrazu. Imamo sljedeće 3 tablice:

Knjiga:

Cijena:

Cijena2:

Tada možemo pokrenuti sljedeću izjavu:

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

Tablica cijena sada je sljedeća:

Podudara se red s id-om 5 u tablici nazvanom Price2. Ovaj je zapis zatim umetnut u tablicu cijena.

Uz UPDATE izjavu

Operator EXISTS možemo koristiti u UPDATE izrazu.

Pokrenite sljedeći upit:

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

Ažuriramo stupac s cijenama tablice Cijena. Cilj nam je da cijene predmeta koji dijele identitet budu iste. Podudaran je samo jedan redak, odnosno 5.

Međutim, budući da su cijene jednake, odnosno 205, ažuriranje nije izvršeno. Da postoji razlika, izvršilo bi se ažuriranje.

Uz IZBRIŠI Izjavu

Izjava PostgreSQL DELETE može koristiti operator EXISTS. Evo primjera:

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

Tablica cijena sada je sljedeća:

Izbrisan je redak s id-om 5.

Uz pgAdmin

Sada da vidimo kako se te radnje mogu izvesti pomoću pgAdmin.

S SELECT izjavom

Da biste to postigli putem pgAdmina, učinite ovo:

Korak 1) Prijavite se na svoj pgAdmin račun.

Korak 2)

  1. Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
  2. Pritisnite Demo.

Korak 3) Upišite upit u uređivač upita:

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

Korak 4) Kliknite gumb Izvrši.

Trebao bi vratiti sljedeće:

Uz INSERT izjavu

Da biste to postigli putem pgAdmina, učinite ovo:

Korak 1) Prijavite se na svoj pgAdmin račun.

Korak 2)

  1. Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
  2. Pritisnite Demo.

Korak 3) Upišite upit u uređivač upita:

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

Korak 4) Kliknite gumb Izvrši.

Tablica cijena sada bi trebala biti sljedeća:

Uz UPDATE izjavu

Da biste to postigli putem pgAdmina, učinite ovo:

Korak 1) Prijavite se na svoj pgAdmin račun.

Korak 2)

  1. Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
  2. Pritisnite Demo.

Korak 3) Upišite upit u uređivač upita:

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

Korak 4) Kliknite gumb Izvrši.

Tablica cijena sada bi trebala biti sljedeća:

Uz IZBRIŠI Izjavu

Da biste to postigli putem pgAdmina, učinite ovo:

Korak 1) Prijavite se na svoj pgAdmin račun.

Korak 2)

  1. Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
  2. Pritisnite Demo.

Korak 3) Upišite upit u uređivač upita:

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

Korak 4) Kliknite gumb Izvrši.

Tablica cijena sada bi trebala biti sljedeća:

Sažetak

  • Operator EXISTS testira postoje li retci u podupitu.
  • Koristi se s podupitom i kaže se da je ispunjen kada podupit vrati barem jedan redak.
  • Koristi se zajedno s naredbama SELECT, UPDATE, INSERT i DELETE.

Preuzmite bazu podataka korištenu u ovom vodiču