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.
Download databasen brugt i denne vejledning