PostgreSQL POSTOJI s SELECT Operator (Primjer)
โก Pametni saลพetak
PostgreSQL EXISTS je Booleov operator koji provjerava vraฤa li korelirani podupit bilo koji redak, omoguฤujuฤi naredbama SELECT, INSERT, UPDATE i DELETE da uฤinkovito filtriraju podatke prema prisutnosti ili odsutnosti odgovarajuฤih zapisa.

ล to POSTOJI u PostgreSQL?
The PostgreSQL POSTOJI Operator provjerava postoji li redak(i) u podupitu. To znaฤi da se operator koristi zajedno s podupitorom. 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.
PostgreSQL Sintaksa upita EXISTS
Ovdje je sintaksa za PostgreSQL EXISTS izjava:
WHERE EXISTS (subquery);
Gornja sintaksa pokazuje da operator EXISTS uzima argument koji je podupit. Podupit je jednostavno a SELECT izraz koji bi trebao zapoฤeti s SELECT * umjesto s popisom naziva stupaca ili izraza.
PostgreSQL POSTOJI s SELECT naredbom
Pogledajmo kako koristiti SELECT naredbu s operatorom EXISTS. Imamo sljedeฤe tablice:
Rezervirati:
Cijena:
Pokrenite sljedeฤu izjavu:
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Ovo vraฤa sljedeฤe:
Gornja naredba trebala bi vratiti sve zapise u tablici knjiga ฤiji ID odgovara ID-u bilo kojeg zapisa podupita. Podudaran je samo jedan ID. Dakle, samo je jedan zapis vraฤen.
PostgreSQL POSTOJI s INSERT naredbom
Operator EXISTS moลพemo koristiti u INSERT izjava. Imamo sljedeฤe 3 tablice:
Rezervirati:
Cijena:
Cijena2:
Zatim moลพemo pokrenuti sljedeฤu izjavu:
INSERT INTO Price SELECT id, price FROM Price2 WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
Tablica cijena sada je sljedeฤa:
Podudaran je redak s ID-om 5 u tablici pod nazivom Cijena2. Taj je zapis zatim umetnut u tablicu cijena.
PostgreSQL POSTOJI s naredbom UPDATE
Operator EXISTS moลพemo koristiti u izjavi UPDATE.
Pokrenite sljedeฤi upit:
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);
Aลพuriramo stupac cijena u tablici Cijena. Naลก cilj je da cijene artikala koji dijele isti ID budu iste. Uparen je samo jedan red, to jest 5.
Meฤutim, buduฤi da su cijene jednake, odnosno 205, aลพuriranje nije napravljeno. Da postoji razlika, aลพuriranje bi bilo napravljeno.
PostgreSQL POSTOJI s naredbom DELETE
A PostgreSQL Izjava DELETE moลพe koristiti operator EXISTS. Evo primjera:
DELETE FROM Price WHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
Tablica cijena sada je sljedeฤa:
Redak s ID-om 5 je izbrisan.
PostgreSQL EXISTS izjava koriลกtenjem pgAdmin-a
Izvan SQL ljuske, isti EXISTS upiti mogu se vizualno izvrลกiti putem pgAdmin suฤelja. Sada pogledajmo kako se te radnje mogu izvrลกiti pomoฤu pgAdmin-a:
S SELECT naredbom
U nastavku su navedeni koraci za koriลกtenje EXISTS upita u PostgreSQL s SELECT naredbom koristeฤi pgAdmin:
Korak 1) Prijavite se na svoj pgAdmin raฤun. Otvorite pgAdmin i prijavite se na svoj raฤun koristeฤi svoje vjerodajnice.
Korak 2) Izradite demo bazu podataka.
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Unesite upit u nastavku u ureฤivaฤ upita:
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Korak 4) Pritisnite gumb Izvrลกi.
Trebao bi vratiti sljedeฤe:
Uz naredbu INSERT
Da biste postigli isto putem pgAdmina, uฤinite ovo:
Korak 1) Prijavite se na svoj pgAdmin raฤun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Unesite upit u ureฤivaฤ upita:
INSERT INTO Price SELECT id, price FROM Price2 WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
Korak 4) Pritisnite gumb Izvrลกi.
Tablica cijena sada bi trebala biti sljedeฤa:
Uz izjavu UPDATE
Da biste postigli isto putem pgAdmina, uฤinite ovo:
Korak 1) Prijavite se na svoj pgAdmin raฤun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Unesite upit u ureฤivaฤ upita:
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);
Korak 4) Pritisnite gumb Izvrลกi.
Tablica cijena sada bi trebala biti sljedeฤa:
Uz naredbu DELETE
Da biste postigli isto putem pgAdmina, uฤinite ovo:
Korak 1) Prijavite se na svoj pgAdmin raฤun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Unesite upit u ureฤivaฤ upita:
DELETE FROM Price WHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
Korak 4) Pritisnite gumb Izvrลกi.
Tablica cijena sada bi trebala biti sljedeฤa:
Preuzmite bazu podataka koriลกtenu u ovom vodiฤu





















