PostgreSQL EKSISTERER Med Eksempler

Hva Er PostgreSQL Eksisterer?

EKSISTERER-operatoren tester om en rad (er) finnes i en delspørring. Dette betyr at operatøren brukes sammen med en subquery. Den Eksisterer operatoren sies å ha blitt oppfylt når minst en rad er funnet i subquery. Du kan bruke denne operasjonen SAMMEN MED SELECT, UPDATE, INSERT og DELETE-setninger.

i Denne PostgreSQL-Opplæringen lærer du følgende:

  • Syntaks
  • MED SELECT Statement
  • MED INSERT Statement
  • MED DELETE Statement
  • med pgAdmin

Syntaks

her er syntaksen for postgresql exists-setningen:

WHERE EXISTS (subquery);

syntaksen ovenfor viser at EXISTS-operatoren tar inn et argument, som er en subquery. Subquery er bare EN SELECT-setning som skal begynne med A VELGE * i stedet for en liste over kolonnenavn eller uttrykk.

Med SELECT-Setning

La se hvordan du bruker EN SELECT-setning MED EXISTS-operatoren. Vi har følgende tabeller:

Bok:

Prisen:

Kjør følgende uttalelse:

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

dette returnerer følgende:

kommandoen ovenfor skal returnere alle poster i Boktabellen hvis id samsvarer med id-en til noen poster av subquery. Bare en id ble matchet. Derfor ble bare en rekord returnert.

MED INSERT-Setning

Kan VI bruke EXISTS-operatoren i EN INSERT-setning. Vi har følgende 3 tabeller:

Bok:

Prisen:

Pris2:

Vi kan deretter kjøre følgende uttalelse:

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

Pris tabellen er nå som følger:

raden med en id på 5 i tabellen Som heter Price2 ble matchet. Denne posten ble deretter satt inn I Prisbordet.

MED OPPDATERINGSERKLÆRING

Kan vi bruke EKSISTERER-operatoren i EN OPPDATERINGSERKLÆRING.

Kjør følgende spørring:

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

vi oppdaterer priskolonnen i Pristabellen. Vårt mål er å ha prisene på varer som deler en id for å være den samme. Bare en rad ble matchet, det vil si 5.

men siden prisene er like, det vil si 205, ble det ikke gjort noen oppdatering. Hvis det var en forskjell, ville en oppdatering ha blitt gjort.

MED DELETE-Setning

En PostgreSQL DELETE-setning kan bruke EXISTS-operatoren. Her er et eksempel:

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

Pris tabellen er nå som følger:

raden med en id på 5 er slettet.

med pgAdmin

la Oss nå se hvordan disse handlingene kan utføres ved hjelp av pgAdmin.

MED SELECT Statement

for å oppnå det samme gjennom pgAdmin, gjør dette:

Trinn 1) Logg inn på din pgadmin-konto.

Trinn 2)

  1. fra navigasjonsfeltet til Venstre-Klikk Databaser.
  2. Klikk Demo.

Trinn 3) Skriv inn spørringen i redigeringsprogrammet for spørring:

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

Trinn 4) Klikk På Utfør-knappen.

det skal returnere følgende:

MED INSERT Statement

for å oppnå det samme gjennom pgAdmin, gjør du dette:

Trinn 1) Logg inn på din pgadmin-konto.

Trinn 2)

  1. fra navigasjonsfeltet til Venstre-Klikk Databaser.
  2. Klikk Demo.

Trinn 3) Skriv inn spørringen i redigeringsprogrammet for spørring:

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

Trinn 4) Klikk På Utfør-knappen.

Prisbordet skal nå være som følger:

MED UPDATE Statement

for å oppnå det samme gjennom pgAdmin, gjør du dette:

Trinn 1) Logg inn på din pgadmin-konto.

Trinn 2)

  1. fra navigasjonsfeltet til Venstre-Klikk Databaser.
  2. Klikk Demo.

Trinn 3) Skriv inn spørringen i redigeringsprogrammet for spørring:

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

Trinn 4) Klikk På Utfør-knappen.

Prisbordet skal nå være som følger:

MED DELETE Statement

for å oppnå det samme gjennom pgAdmin, gjør du dette:

Trinn 1) Logg inn på din pgadmin-konto.

Trinn 2)

  1. fra navigasjonsfeltet til Venstre-Klikk Databaser.
  2. Klikk Demo.

Trinn 3) Skriv inn spørringen i redigeringsprogrammet for spørring:

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

Trinn 4) Klikk På Utfør-knappen.

Prisbordet skal nå være som følger:

Sammendrag

  • EKSISTERER-operatoren tester om det finnes en rad(er) i en delspørring.
  • Den brukes med en delspørring og sies å ha blitt oppfylt når delspørringen returnerer minst en rad.
  • den brukes sammen MED SELECT, UPDATE, INSERT og DELETE-setninger.

Last Ned Databasen som brukes i Denne Opplæringen

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.

Previous post 2021 Hotell Oppussing og Bygging På Disney World
Next post Alle Tipsene Du Trenger For Å Gjøre Øye Sminke På Monolider