PostgreSQL Postoji s primjerom odabira, umetanja, ažuriranja i brisanja
Što postoji postoji u PostgreSQL?
The PostgreSQL POSTOJI operator testira postoje li redovi 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 red. Ovu operaciju možete koristiti zajedno s izjavama SELECT, UPDATE, INSERT i DELETE.
Postgres Exists sintaksa upita
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 naredbu SELECT 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.
Postgres 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.
Postgres 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 Izjava Exists pomoću pgAdmin-a
Sada da vidimo kako se ove radnje mogu izvesti pomoću pgAdmin-a:
Kako koristiti upit postoji u PostgreSQL s SELECT naredbom koristeći pgAdmin
U nastavku su navedeni koraci za korištenje upita Exists 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) Napravite demo bazu podataka
- Na navigacijskoj traci s lijeve strane kliknite Databases.
- Pritisnite Demo.
Korak 3) Upišite upit
Unesite upit u nastavku u uređivač upita:
SELECT * FROM Book WHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
Korak 4) Izvršite upit
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 Databases.
- 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 Databases.
- 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 Databases.
- 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:
Rezime
- Operator EXISTS provjerava postoje li redovi 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