PostgreSQL IN, Ikke IN med eksempler
Hvad er PostgreSQL i ?
IN-operatoren bruges i en WHERE-sรฆtning, der gรธr det muligt at kontrollere, om en vรฆrdi er til stede i en liste med andre vรฆrdier. I Operation hjรฆlper med at reducere behovet for flere OR-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 antal af 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.
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');
Det 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 til en af โโbordets rekorder, og dens detaljer blev returneret.
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.
Bruger NOT-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
Lad os nu se, hvordan handlingerne kan udfรธres ved hjรฆlp af pgAdmin.
Med Karakter
For at opnรฅ det samme gennem pgAdmin, gรธr dette:
Trin 1) Log ind pรฅ din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik pรฅ Databaser.
- 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)
- Fra navigationslinjen til venstre - Klik pรฅ Databaser.
- 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:
Bruger NOT-operator
For at opnรฅ det samme gennem pgAdmin, gรธr dette:
Trin 1) Log ind pรฅ din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik pรฅ Databaser.
- 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:
Resumรฉ
- IN-operatoren bruges sammen med WHERE-operatoren. Det gรธr det muligt at kontrollere, om en bestemt vรฆrdi er til stede i en specifik tabel.
- IN-operatoren hjรฆlper med at reducere behovet for flere OR-operatorer i SELECT-, UPDATE-, INSERT- eller DELETE-sรฆtninger.
- Nรฅr du opretter en tegnliste for at kontrollere tilstedevรฆrelsen af โโen vรฆrdi, skal hver vรฆrdi pรฅ listen vรฆre omgivet af enkelte anfรธrselstegn.
- IN-operatoren kan ogsรฅ bruges med numeriske vรฆrdier.
- Nรฅr IN-operatoren bruges sammen med NOT-operatoren, returnerer den alle vรฆrdier, der ikke findes i den angivne kolonne.














