PostgreSQL Eksisterer med Velg, Sett inn, Oppdater og Slett Eksempel
Hva finnes i PostgreSQL?
Ocuco PostgreSQL Eksisterer operatรธr tester om en rad(er) finnes i en underspรธrring. Dette betyr at operatรธren brukes sammen med en underspรธrring. Operatoren Exists sies รฅ ha blitt mรธtt nรฅr minst รฉn rad er funnet i underspรธrringen. Du kan bruke denne operasjonen sammen med SELECT-, UPDATE-, INSERT- og DELETE-setninger.
Postgres Exists Query Syntax
Her er syntaksen for PostgreSQL EKSISTERER uttalelse:
WHERE EXISTS (subquery);
Syntaksen ovenfor viser at EXISTS-operatoren tar inn et argument, som er en underspรธrring. Underspรธrringen er ganske enkelt en SELECT-setning som skal begynne med en SELECT * i stedet for en liste over kolonnenavn eller uttrykk.
PostgreSQL Eksisterer med SELECT Statement
La oss se hvordan du bruker en SELECT-setning med EXISTS-operatoren. Vi har fรธlgende tabeller:
Bok:
Pris:
Kjรธr fรธlgende setning:
SELECT *
FROM Book
WHERE 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 IDen til alle poster av underspรธrringen. Bare รฉn id ble matchet. Derfor ble bare รฉn post returnert.
PostgreSQL Eksisterer med INSERT Statement
Vi kan bruke EXISTS-operatoren i en INSERT uttalelse. Vi har fรธlgende 3 tabeller:
Bok:
Pris:
Pris 2:
Vi kan da kjรธre fรธlgende setning:
INSERT INTO Price
SELECT id, price
FROM Price2
WHERE EXISTS (SELECT id
FROM Book
WHERE Book.id = Price2.id);
Pristabellen er nรฅ som fรธlger:
Raden med en id pรฅ 5 i tabellen kalt Pris2 ble matchet. Denne posten ble deretter satt inn i pristabellen.
Postgres eksisterer med UPDATE-erklรฆring
Vi kan bruke EXISTS-operatoren i en UPDATE-setning.
Kjรธr fรธlgende spรธrring:
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);
Vi oppdaterer priskolonnen i Pristabellen. Vรฅrt mรฅl er at prisene pรฅ varer som deler en id skal vรฆre de samme. Bare รฉn 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 blitt gjort.
Postgres eksisterer med SLETT-erklรฆring
A PostgreSQL DELETE-setningen kan bruke EXISTS-operatoren. Her er et eksempel:
DELETE FROM Price
WHERE EXISTS (SELECT *
FROM Price2
WHERE Price.id = Price2.id);
Pristabellen er nรฅ som fรธlger:
Raden med ID 5 er slettet.
PostgreSQL Eksisterer erklรฆring som bruker pgAdmin
La oss nรฅ se hvordan disse handlingene kan utfรธres ved รฅ bruke pgAdmin:
Slik bruker du Exists Query i PostgreSQL med SELECT Statement ved รฅ bruke pgAdmin
Nedenfor er trinnene for รฅ bruke Exists-sรธk i PostgreSQL med SELECT-setning ved รฅ bruke pgAdmin:
Trinn 1) Logg pรฅ pgAdmin-kontoen din
ร pne pgAdmin og logg pรฅ kontoen din med legitimasjonen din
Trinn 2) Opprett en demodatabase
- Fra navigasjonslinjen til venstre klikker du pรฅ Databaser.
- Klikk pรฅ Demo.
Trinn 3) Skriv inn spรธrringen
Skriv inn sรธket nedenfor i spรธrringsredigeringsprogrammet:
SELECT *
FROM Book
WHERE EXISTS (SELECT *
FROM Price
WHERE Book.id = Price.id);
Trinn 4) Utfรธr spรธrringen
Klikk pรฅ Utfรธr-knappen
Den skal returnere fรธlgende:
Med INSERT Statement
For รฅ oppnรฅ det samme gjennom pgAdmin, gjรธr dette:
Trinn 1) Logg pรฅ pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du pรฅ Databaser.
- Klikk pรฅ Demo.
Trinn 3) Skriv inn sรธket i spรธrringsredigeringsprogrammet:
INSERT INTO Price
SELECT id, price
FROM Price2
WHERE EXISTS (SELECT id
FROM Book
WHERE Book.id = Price2.id);
Trinn 4) Klikk pรฅ Utfรธr-knappen.
Pristabellen skal nรฅ vรฆre som fรธlger:
Med UPDATE-erklรฆring
For รฅ oppnรฅ det samme gjennom pgAdmin, gjรธr dette:
Trinn 1) Logg pรฅ pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du pรฅ Databaser.
- Klikk pรฅ Demo.
Trinn 3) Skriv inn sรธket i spรธrringsredigeringsprogrammet:
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);
Trinn 4) Klikk pรฅ Utfรธr-knappen.
Pristabellen skal nรฅ vรฆre som fรธlger:
Med SLETT-erklรฆring
For รฅ oppnรฅ det samme gjennom pgAdmin, gjรธr dette:
Trinn 1) Logg pรฅ pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du pรฅ Databaser.
- Klikk pรฅ Demo.
Trinn 3) Skriv inn sรธket i spรธrringsredigeringsprogrammet:
DELETE FROM Price
WHERE EXISTS (SELECT *
FROM Price2
WHERE Price.id = Price2.id);
Trinn 4) Klikk pรฅ Utfรธr-knappen.
Pristabellen skal nรฅ vรฆre som fรธlger:
Sammendrag
- EXISTS-operatoren tester om en rad(er) finnes i en underspรธrring.
- Den brukes med en underspรธrring og sies รฅ ha blitt oppfylt nรฅr underspรธrringen returnerer minst รฉn rad.
- Den brukes sammen med SELECT-, UPDATE-, INSERT- og DELETE-setninger.





















