Hvad er PostgreSQL i?
IN-operatøren bruges i en WHERE-klausul, der tillader kontrol af, om en værdi er til stede i en liste over andre værdier. I drift hjælper med at reducere behovet for flere ELLER-betingelser i SELECT-, UPDATE-, INSERT- eller SLET-udsagn.
I denne PostgreSQL-selvstudie lærer du følgende:
- Hvad er PostgreSQL i?
- Syntaks
- Med karakter
- Med numerisk
- Brug IKKE operatør
- Brug af pgAdmin
Syntaks
IN-operatøren 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, returnerer operatøren en true.
Listen kan være et sæt antal strenge eller endda outputresultatet af en SELECT-sætning som vist nedenfor:
value IN (SELECT value FROM table-name);
Erklæringen placeret inden for 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 EmployeesWHERE 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 et af disse navne i kolonnen Navn i tabellen Medarbejdere. Kate Joel blev matchet til en af bordets optegnelser, og dens detaljer blev returneret.
Med numerisk
Lad os nu se, hvordan vi kan bruge IN-operatøren med numeriske værdier.
Overvej pristabellen nedenfor:
Pris:
Vi kan køre følgende forespørgsel mod tabellen:
SELECT *FROM PriceWHERE price IN (200, 308, 250, 550);
Dette returnerer følgende:
Vi har oprettet en liste med 4 numeriske værdier. Vi kontrollerer, om vi kan matche nogen af disse værdier med værdierne i priskolonnen i pristabellen. To værdier blev matchet, og deres detaljer blev returneret.
Brug IKKE operatør
IN-operatøren kan bruges sammen med NOT-operatøren. Det returnerer de værdier, der ikke findes i den angivne kolonne. Vi vil bruge pristabellen til at demonstrere dette.
SELECT *FROM PriceWHERE price NOT IN (200, 400, 190, 230);
Dette returnerer følgende:
Vi har oprettet en liste med 4 numeriske værdier. Vi kontrollerer 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.
Brug af pgAdmin
Lad os nu se, hvordan handlingerne kan udføres ved hjælp af pgAdmin.
Med karakter
For at opnå det samme gennem pgAdmin skal du gøre dette:
Trin 1) Log ind på din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik på Databaser.
- Klik på Demo.
Trin 3) Skriv forespørgslen i forespørgselseditoren:
SELECT *FROM EmployeesWHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Trin 4) Klik på knappen Udfør.
Den skal returnere følgende:
Med numerisk
For at opnå det samme gennem pgAdmin skal du gøre dette:
Trin 1) Log ind på din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik på Databaser.
- Klik på Demo.
Trin 3) Skriv forespørgslen i forespørgselseditoren:
SELECT *FROM PriceWHERE price IN (200, 308, 250, 550);
Trin 4) Klik på knappen Udfør.
Den skal returnere følgende:
Brug IKKE operatør
For at opnå det samme gennem pgAdmin skal du gøre dette:
Trin 1) Log ind på din pgAdmin-konto.
Trin 2)
- Fra navigationslinjen til venstre - Klik på Databaser.
- Klik på Demo.
Trin 3) Skriv forespørgslen i forespørgselseditoren:
SELECT *FROM PriceWHERE price NOT IN (200, 400, 190, 230);
Trin 4) Klik på knappen Udfør.
Den skal returnere følgende:
Resumé:
- IN-operatøren bruges sammen med WHERE-operatøren. Det giver mulighed for at kontrollere, om en bestemt værdi er til stede i en bestemt tabel.
- IN-operatøren hjælper med at reducere behovet for flere ELLER-operatører i SELECT-, UPDATE-, INSERT- eller DELETE-udsagn.
- Når du opretter en tegnliste for at kontrollere, om der er en værdi, skal hver værdi på listen være lukket inden for enkelte anførselstegn.
- IN-operatøren kan også bruges med numeriske værdier.
- Når IN-operatoren bruges sammen med operatoren NOT, returnerer den alle værdier, der ikke findes i den angivne kolonne.
Download den database, der blev brugt i denne vejledning