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:

PostgreSQL Ind med Karakter

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:

PostgreSQL Ind med Karakter

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:

PostgreSQL Ind med numerisk

Vi kan kรธre fรธlgende forespรธrgsel mod tabellen:

SELECT *
FROM Price
WHERE price IN (200, 308, 250, 550);

Dette returnerer fรธlgende:

PostgreSQL Ind med numerisk

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:

PostgreSQL Ved brug af NOT-operator

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)

  1. Fra navigationslinjen til venstre - Klik pรฅ Databaser.
  2. Klik pรฅ Demo.

Brug af pgAdmin med tegn

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.

Brug af pgAdmin med tegn

Det skal returnere fรธlgende:

Brug af pgAdmin med tegn

Med numerisk

For at opnรฅ det samme gennem pgAdmin, gรธr dette:

Trin 1) Log ind pรฅ din pgAdmin-konto.

Trin 2)

  1. Fra navigationslinjen til venstre - Klik pรฅ Databaser.
  2. Klik pรฅ Demo.

Brug af pgAdmin med numerisk

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.

Brug af pgAdmin med numerisk

Det skal returnere fรธlgende:

Brug af pgAdmin med numerisk

Bruger NOT-operator

For at opnรฅ det samme gennem pgAdmin, gรธr dette:

Trin 1) Log ind pรฅ din pgAdmin-konto.

Trin 2)

  1. Fra navigationslinjen til venstre - Klik pรฅ Databaser.
  2. Klik pรฅ Demo.

Bruger NOT-operator

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.

Bruger NOT-operator

Det skal returnere fรธlgende:

Bruger NOT-operator

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.

Download databasen brugt i denne vejledning

Opsummer dette indlรฆg med: