PostgreSQL MELLEM Forespørgsel med Eksempel

⚡ Smart opsummering

PostgreSQL BETWEEN henter værdier, der falder inden for et inkluderende område i SELECT-, INSERT-, UPDATE- eller DELETE-sætninger. Den sammenligner et udtryk med to randværdier, arbejder med numeriske data og datodata og understøtter negation via NOT-operatoren.

  • 📌 Kerneformål: Operatoren BETWEEN matcher et udtryk med et område defineret af to værdier forbundet med AND.
  • 🔢 Inkluderende grænser: Begge randværdier er inkluderet, så MELLEM 200 OG 280 returnerer rækker lig med 200 eller 280.
  • 📅 Numerisk og datoer: Den samme syntaks filtrerer numeriske kolonner og datokolonner ved hjælp af datoliteraler i anførselstegn.
  • 🚫 IKKE-variant: Tilføjelse af NOT før BETWEEN returnerer alle rækker, der falder uden for det angivne område.
  • 🖥️ pgAdmin-udførelse: De identiske forespørgsler køres i pgAdmin-forespørgselseditoren ved at vælge demodatabasen og klikke på Udfør.

PostgreSQL MELLEM Forespørgsel med Eksempel

MELLEM Operator ind PostgreSQL

PostgreSQL MELLEM Operator hjælper med at hente værdier inden for et interval i en SELECT-, UPDATE-, INSERT- eller DELETE-sætning. Med BETWEEN-operatoren er det muligt at matche en værdi med et interval af værdier. Da intervalet er inkluderende, behandles begge grænseværdier som en del af matchen.

PostgreSQL Mellem forespørgselssyntaks

Her er syntaksen for BETWEEN-operatoren i PostgreSQL:

expression BETWEEN value-1 AND value-2;

Udtrykket er simpelthen en kolonne eller en beregning. Værdi-1 og værdi-2 vil oprette et interval, som vi kan sammenligne udtrykket med.

PostgreSQL Mellem forespørgsel med numerisk

Vi skal lave et eksempel, der viser, hvordan man anvender BETWEEN-operatoren på numeriske værdier. Overvej pristabellen nedenfor:

Pris:

PostgreSQL Mellem forespørgsel med numerisk

Lad os se listen over alle bøger, hvis pris ligger mellem 200 og 280:

SELECT *
FROM Price
WHERE price BETWEEN 200 AND 280;

Dette vil returnere følgende:

PostgreSQL Mellem forespørgsel med numerisk

Kun to varer har en pris mellem 200 og 280. Bemærk at de to grænser er inkluderet, dvs. 200 og 280.

PostgreSQL Mellem forespørgsel med dato

BETWEEN-operatoren kan bruges på datoværdier. Det betyder, at vi kan angive rækkevidden af ​​datoværdier, som vi skal arbejde med. Overvej følgende medarbejdertabel:

Medarbejdere:

PostgreSQL Mellem forespørgsel med dato

Antag, at vi ønsker at se alle de medarbejdere, der var ansat mellem 2013-01-01 og 2015-01-01, kan vi køre følgende kommando:

SELECT *
FROM Employees
WHERE employment_date BETWEEN '2013-01-01' AND '2015-01-01';

Dette returnerer følgende:

PostgreSQL Mellem forespørgsel med dato

Postgres Between Query ved hjælp af NOT OperaTor

Vi kan kombinere MELLEM operatoren med NOT operatoren. I et sådant tilfælde vil listen over værdier, der ikke er inden for det angivne område, blive returneret.

For at se alle de varer, hvor prisen ikke er mellem 200 og 280, kan vi for eksempel køre følgende forespørgsel:

SELECT *
FROM Price
WHERE price NOT BETWEEN 200 AND 280;

Dette vil returnere følgende:

Postgres Between Query ved hjælp af NOT OperaTor

Der blev fundet to varer med en pris, der ikke lå mellem 200 og 280. Derfor blev deres oplysninger returneret.

PostgreSQL Mellem forespørgsel ved hjælp af pgAdmin

Lad os nu se, hvordan disse handlinger kan udføres ved hjælp af pgAdmin. Forespørgslerne er identiske med dem ovenfor; kun udførelsesmiljøet ændres.

Sådan bruges Between Query med Numeric in PostgreSQL ved hjælp af pgAdmin

Sådan bruger du Between-forespørgslen med numeriske værdier i PostgreSQL ved hjælp af pgAdmin:

Trin 1) Log ind på din pgAdmin-konto.

Åbn pgAdmin og log ind på din konto med dine loginoplysninger.

Trin 2) Opret en demodatabase.

  1. Klik på Databaser i navigationslinjen til venstre.
  2. Klik på Demo.

PostgreSQL Mellem forespørgsel ved hjælp af pgAdmin

Trin 3) Indtast nedenstående forespørgsel i forespørgselseditoren:

SELECT *
FROM Price
WHERE price BETWEEN 200 AND 280;

Trin 4) Klik på knappen Udfør.

PostgreSQL Mellem forespørgsel ved hjælp af pgAdmin

Det skal returnere følgende:

PostgreSQL Mellem forespørgsel ved hjælp af pgAdmin

Med Dato

For at opnå det samme gennem pgAdmin, gør dette:

Trin 1) Log ind på din pgAdmin-konto.

Trin 2)

  1. Klik på Databaser i navigationslinjen til venstre.
  2. Klik på Demo.

Mellem forespørgsel i PostgreSQL Med Dato

Trin 3) Indtast forespørgslen i forespørgselseditoren:

SELECT *
FROM Employees
WHERE employment_date BETWEEN '2013-01-01' AND '2015-01-01';

Trin 4) Klik på knappen Udfør.

Mellem forespørgsel i PostgreSQL Med Dato

Det skal returnere følgende:

Mellem forespørgsel i PostgreSQL Med Dato

Bruger NOT OperaTor

For at opnå det samme gennem pgAdmin, gør dette:

Trin 1) Log ind på din pgAdmin-konto.

Trin 2)

  1. Klik på Databaser i navigationslinjen til venstre.
  2. Klik på Demo.

Mellem forespørgsel i PostgreSQL bruger IKKE OperaTor

Trin 3) Indtast forespørgslen i forespørgselseditoren:

SELECT *
FROM Price
WHERE price NOT BETWEEN 200 AND 280;

Trin 4) Klik på knappen Udfør.

PostgreSQL Mellem forespørgsel med NOT OperaTor

Det skal returnere følgende:

PostgreSQL Mellem forespørgsel med NOT OperaTor

Download databasen brugt i denne vejledning

Ofte Stillede Spørgsmål

Ja. AI-assistenter kan konvertere almindeligt engelsk, såsom "ordrer mellem to datoer", til en gyldig BETWEEN-forespørgsel med den korrekte kolonne, grænser og anførselstegn. Test altid den genererede SQL på dit skema, før du kører det.

Ja. AI-værktøjer kan påpege, at BETWEEN inkluderer begge grænser, at dato-literaler muligvis kræver tidsstempler, og at kolonnedatatyper påvirker sammenligninger. Bekræft hver forklaring mod dine faktiske data og kolonnedefinitioner.

Ja. BETWEEN er inklusive, så x BETWEEN 200 AND 280 matcher rækker, hvor værdien er lig med 200, 280 eller noget derimellem. Det svarer til at skrive x >= 200 OG x <= 280.

Ombryd hver dato i enkelte anførselstegn, for eksempel ansættelsesdato MELLEM '2013-01-01' OG '2015-01-01'. For tidsstempelkolonner skal du udvide den øvre grænse eller bruge < den næste dag, så tidspunkter sent på dagen ikke udelukkes.

Opsummer dette indlæg med: