PostgreSQL IN, Ikke IN med eksempler
โก Smart opsummering
PostgreSQL IN-operatoren kontrollerer, om en vรฆrdi vises i en liste eller underforespรธrgsel i en WHERE-klausul, og erstatter dermed flere OR-betingelser pรฅ tvรฆrs af SELECT-, UPDATE-, INSERT- og DELETE-sรฆtninger for at opnรฅ en renere, hurtigere og mere lรฆsbar filtrering.

Hvad er PostgreSQL I?
IN-operatoren bruges i en WHERE-klausul, der gรธr det muligt at kontrollere, om en vรฆrdi findes i en liste over andre vรฆrdier. IN-operationen hjรฆlper med at reducere behovet for flere ELLER-betingelser i SELECT-, UPDATE-, INSERT- eller DELETE-sรฆtninger.
Syntaks
IN-operatoren tager fรธlgende syntaks:
value IN (value_1, value_2, ...)
Vรฆrdien er den vรฆrdi, du sรธger efter pรฅ listen.
Vรฆrdien_1, vรฆrdi_2... er listevรฆrdierne.
Hvis vรฆrdien findes pรฅ listen, vil operatรธren returnere en sand.
Listen kan vรฆre et sรฆt tal eller strenge, eller endda outputresultatet af en SELECT erklรฆring som vist nedenfor:
value IN (SELECT value FROM table-name);
Udsagnet placeret i parentesen er kendt som en underforespรธrgsel.
PostgreSQL IN Med karakter
Lad os demonstrere, hvordan du kan bruge IN-operatoren med tegnvรฆrdier.
Overvej fรธlgende tabel:
Medarbejdere:
Lad os kรธre fรธlgende forespรธrgsel mod ovenstรฅende tabel:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Den returnerer fรธlgende:
Vi har en liste med tre navne. Vi sรธger efter, om vi kan finde nogen af โโdisse navne i navnekolonnen i tabellen Medarbejdere. Kate Joel blev matchet med en af โโtabellens poster, og dens oplysninger blev returneret.
PostgreSQL IN med numerisk
Lad os nu se, hvordan vi kan bruge IN-operatoren med numeriske vรฆrdier.
Overvej pristabellen nedenfor:
Pris:
Vi kan kรธre fรธlgende forespรธrgsel mod tabellen:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Dette returnerer fรธlgende:
Vi har lavet en liste med 4 numeriske vรฆrdier. Vi tjekker, om vi kan matche nogen af โโdisse vรฆrdier med vรฆrdierne i priskolonnen i pristabellen. To vรฆrdier blev matchet, og deres oplysninger blev returneret.
Brug af IKKE-funktionen OperaTor
IN-operatoren kan bruges sammen med NOT-operatoren. Det returnerer de vรฆrdier, der ikke findes i den angivne kolonne. Vi vil bruge pristabellen til at demonstrere dette.
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Dette vil returnere fรธlgende:
Vi har lavet en liste med 4 numeriske vรฆrdier. Vi tjekker priskolonnen i pristabellen for vรฆrdier, der ikke er en del af listen. To vรฆrdier, 250 og 300, blev ikke fundet. Derfor er deres oplysninger blevet returneret.
Bruger pgAdmin
Ud over SQL-shellen kan de samme IN- og NOT IN-forespรธrgsler kรธres visuelt via pgAdmin-grรฆnsefladen.
Med Karakter
For at opnรฅ det samme gennem pgAdmin, gรธr dette:
Trin 1) Log ind pรฅ din pgAdmin-konto.
Trin 2)
- Klik pรฅ Databaser i navigationslinjen til venstre.
- Klik pรฅ Demo.
Trin 3) Indtast forespรธrgslen i forespรธrgselseditoren:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Trin 4) Klik pรฅ knappen Udfรธr.
Det skal returnere fรธlgende:
Med numerisk
For at opnรฅ det samme gennem pgAdmin, gรธr dette:
Trin 1) Log ind pรฅ din pgAdmin-konto.
Trin 2)
- Klik pรฅ Databaser i navigationslinjen til venstre.
- Klik pรฅ Demo.
Trin 3) Indtast forespรธrgslen i forespรธrgselseditoren:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Trin 4) Klik pรฅ knappen Udfรธr.
Det skal returnere fรธlgende:
Brug af IKKE-funktionen OperaTor
For at opnรฅ det samme gennem pgAdmin, gรธr dette:
Trin 1) Log ind pรฅ din pgAdmin-konto.
Trin 2)
- Klik pรฅ Databaser i navigationslinjen til venstre.
- Klik pรฅ Demo.
Trin 3) Indtast forespรธrgslen i forespรธrgselseditoren:
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Trin 4) Klik pรฅ knappen Udfรธr.
Det skal returnere fรธlgende:
Download databasen brugt i denne vejledning














