PostgreSQL IN, Ikke IN med eksempler

Hvad er PostgreSQL i ?

IN operator 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 operator tager folloenwing 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 den operator vil returnere en sand.

Listen kan være et sæt af numbers 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 operator med karakterværdier.

Overvej folloenwing bord:

Medarbejdere:

PostgreSQL Ind med Karakter

Lad os køre folloenwing forespørgsel mod ovenstående tabel:

SELECT *
FROM Employees
WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');

Det returnerer folloenwing:

PostgreSQL Ind med Karakter

Vi har en liste med tre navne. Vi er searching for, om vi kan finde nogen af ​​disse navne i navnekolonnen i tabellen Medarbejdere. Kate Joel blev matchet til en af ​​bordets rekorder, og dens details blev returneret.

Med numerisk

Lad os nu se, hvordan vi kan bruge IN operator med numeriske værdier.

Overvej pristabellen nedenfor:

Pris:

PostgreSQL Ind med numerisk

Vi kan køre folloenwing forespørgsel mod tabellen:

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

Dette returnerer folloenwing:

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 details blev returneret.

Bruger NOT operaTor

IN operator kan bruges sammen med NOT operator. 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 folloenwing:

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 deres details er 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 burde returnere folloenwing:

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 burde returnere folloenwing:

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 burde returnere folloenwing:

Bruger NOT operaTor

Resumé

  • IN operator bruges sammen med WHERE operator. Det gør det muligt at kontrollere, om en bestemt værdi er til stede i en specifik tabel.
  • IN operator 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 operator kan også bruges med numeriske værdier.
  • Når IN operator bruges sammen med NOT operator, returnerer den alle værdier, der ikke findes i den angivne kolonne.

Download databasen brugt i denne vejledning