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:

PostgreSQL Postoji s SELECT naredbom

Cijena:

PostgreSQL Postoji s SELECT naredbom

Pokrenite sljedeću izjavu:

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

Ovo vraća sljedeće:

PostgreSQL Postoji s SELECT naredbom

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:

PostgreSQL Postoji s INSERT naredbom

Cijena:

PostgreSQL Postoji s INSERT naredbom

Cijena2:

PostgreSQL Postoji s INSERT naredbom

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:

PostgreSQL Postoji s INSERT naredbom

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);

Postgres postoji s naredbom UPDATE

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:

Postgres postoji s naredbom DELETE

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

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

PostgreSQL Izjava Exists pomoću pgAdmin-a

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

PostgreSQL Izjava Exists pomoću pgAdmin-a

Trebao bi vratiti sljedeće:

PostgreSQL Izjava Exists pomoću pgAdmin-a

Uz naredbu INSERT

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

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

Korak 2)

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

Postoji izjava u PostgreSQL koristeći pgAdmin

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.

Postoji izjava u PostgreSQL koristeći pgAdmin

Tablica cijena sada bi trebala biti sljedeća:

Postoji izjava u PostgreSQL koristeći pgAdmin

Uz izjavu UPDATE

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

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

Korak 2)

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

Postoji izjava u PostgreSQL koristeći pgAdmin

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.

PostgreSQL Izjava Exists pomoću pgAdmin-a

Tablica cijena sada bi trebala biti sljedeća:

PostgreSQL Izjava Exists pomoću pgAdmin-a

Uz naredbu DELETE

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

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

Korak 2)

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

PostgreSQL Izjava Exists pomoću pgAdmin-a

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.

PostgreSQL Izjava Exists pomoću pgAdmin-a

Tablica cijena sada bi trebala biti sljedeća:

PostgreSQL Izjava Exists pomoću pgAdmin-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