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