Det er sjældent tidspunkter, hvor du har brug for at hente alle posterne fra en given tabel. I stedet oplever du ofte, at du henter de poster, der matcher en specifik tilstand eller inden for et givet interval.
I dette indlæg lærer vi, hvordan man bruger BETWEEN-operatoren i Oracle-databasen, som giver os mulighed for at vælge rækkerne med værdier, der matcher et specifikt interval fra en databasetabel.
Oracle MELLEM operatør
BETWEEN-operatoren i Oracle giver os mulighed for at angive en søgebetingelse, når vi bruger DML-sætninger såsom SELECT, INSERT, UPDATE eller DELETE.
Når vi bruger BETWEEN-operatoren med en SELECT-sætning, vælges kun de rækker, hvis værdier er mellem det angivne område.
Vi udtrykker syntaksen for BETWEEN-operatoren som vist i følgende:
udtryk MELLEM lavere_område OG øvre_område;
Udtrykket definerer i dette tilfælde måludtrykket, hvis områdeværdi skal testes.
Antag, at vi ønsker at hente alle rækkerne fra en medarbejders tabel, hvis løn er inden for et givet interval. I dette tilfælde omtales lønkolonnen som udtrykket.
Følgende er en pseudo-syntaks for den foregående analogi:
VÆLG KOLONNER HVOR løn MELLEM værdi_1 OG værdi_2;Parametrene lower_range og upper_range bruges til at indstille de laveste og højeste værdier, der skal inkluderes i området.
Parametrene lower_range og upper_range er forbundet af AND-operatoren.
Når vi udfører sætningen, returnerer BETWEEN-operatoren TRUE for enhver værdi, der er større end eller lig med det laveste_område og mindre end eller lig med det øvre_område.
I de fleste tilfælde bruges BETWEEN-operatoren med en WHERE-sætning, som gør det muligt for dig at introducere søgebetingelsen.
Oracle MELLEM Operatøreksempler
I dette afsnit vil vi give nogle eksempler på brug af operatoren BETWEEN i Oracle-databasen.
Antag, at vi har en tabel som vist:
VÆLG MEDARBEJDER-ID , FORNAVN , EMAIL , LØN FRA MEDARBEJDERE;Resultattabel:
Eksempel 1: Afprøvning af det numeriske område ved hjælp af BETWEEN-operatøren
Antag, at vi ønsker at bestemme alle de ansatte, hvis løn spænder fra 20.000 til 50.000.
Vi kan udføre en SELECT-sætning med en BETWEEN-operator sammen med en WHERE-sætning, som vist i følgende:
VÆLG MEDARBEJDER-ID , FORNAVN , EMAIL , LØNFRA MEDARBEJDERE
HVOR LØN MELLEM 20.000 OG 50.000 ;
Den tidligere forespørgsel skal returnere de medarbejdere, hvis løn er inden for dette interval, som vist i følgende:
Her har vi kun én række, der matcher det løninterval.
Eksempel 2: Afprøvning af datointervallet ved hjælp af BETWEEN-operatøren
Vi kan også bruge BETWEEN-operatoren til at søge efter poster, der matcher et bestemt datointerval.
Tag følgende tabel som et eksempel:
VÆLG FORNAVN , EMAIL , ANSÆTTELSESDATO , LØNFRA MEDARBEJDERE;
Antag, at vi ønsker at bestemme alle de medarbejdere, hvis ansættelsesdato er inden for et givet interval.
Vi kan også parre BETWEEN-operatoren med en WHERE-sætning som vist i følgende:
VÆLG FORNAVN , EMAIL , ANSÆTTELSESDATO , LØNFRA MEDARBEJDERE
HVOR ANSÆTTELSESDATO MELLEM DATO '2006-01-01' OG DATO '2007-01-01' ;
I dette tilfælde tester vi søgebetingelsen, hvor værdien af leje_dato-kolonnen er mellem 2006-01-01 og 2007-01-01.
Dette skulle returnere de matchende rækker som vist i følgende:
Bemærk, hvordan alle værdierne er inden for den angivne dato.
Eksempel 3: Brug af BETWEEN-operatøren med Order By-klausul
Oracle giver os også mulighed for at bruge klausulerne såsom ORDER BY eller GROUP BY til at bestille de resulterende værdier i en given rækkefølge.
For eksempel kan vi bestille den foregående tabel baseret på lønværdien startende fra den højeste til den laveste.
VÆLG FORNAVN , EMAIL , ANSÆTTELSESDATO , LØNFRA MEDARBEJDERE
HVOR ANSÆTTELSESDATO MELLEM DATO '2006-01-01' OG DATO '2007-01-01'
BESTILLE VED LØN DESC ;
Den resulterende tabel er som følger:
Konklusion
I denne vejledning undersøgte vi brugen af BETWEEN-operatoren i Oracle-databaser, som gør det muligt for os at søge efter rækker, hvis værdi matcher et givet område.