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















