Redki so časi, ko morate pridobiti vse zapise iz dane tabele. Namesto tega se pogosto znajdete pri pridobivanju zapisov, ki se ujemajo z določenim pogojem ali znotraj danega obsega.
V tej objavi se bomo naučili uporabljati operator BETWEEN v bazi podatkov Oracle, ki nam omogoča, da iz tabele baze podatkov izberemo vrstice z vrednostmi, ki se ujemajo z določenim obsegom.
Operator Oracle BETWEEN
Operator BETWEEN v Oraclu nam omogoča, da zagotovimo iskalni pogoj pri uporabi stavkov DML, kot so SELECT, INSERT, UPDATE ali DELETE.
Ko uporabimo operator BETWEEN s stavkom SELECT, so izbrane samo vrstice, katerih vrednosti so med podanim obsegom.
Izrazimo sintakso operatorja BETWEEN, kot je prikazano v naslednjem:
izražanje MED spodnji_razpon IN zgornji_razpon;
Izraz v tem primeru definira ciljni izraz, katerega vrednost obsega je treba preizkusiti.
Recimo, da želimo pridobiti vse vrstice iz tabele zaposlenega, katerega plača je v danem razponu. V tem primeru se stolpec plače imenuje izraz.
Sledi psevdosintaksa prejšnje analogije:
IZBERI STOLPCI KJE plača MED vrednost_1 IN vrednost_2;Parametra lower_range in upper_range se uporabljata za nastavitev najnižje in najvišje vrednosti za vključitev v obseg.
Parametra lower_range in upper_range sta povezana z operatorjem AND.
Ko izvedemo stavek, vrne operator BETWEEN TRUE za vsako vrednost, ki je večja od ali enaka najnižjemu_območju in manjša ali enaka zgornjemu_območju.
V večini primerov se operator BETWEEN uporablja s klavzulo WHERE, ki vam omogoča vnos iskalnega pogoja.
Operator Oracle BETWEEN Primeri
V tem razdelku bomo podali nekaj primerov uporabe operatorja BETWEEN v bazi podatkov Oracle.
Recimo, da imamo tabelo, kot je prikazano:
IZBERI EMPLOYEE_ID , IME , E-NASLOV , PLAČA OD ZAPOSLENI;Končna tabela:
Primer 1: Preizkušanje številskega obsega z uporabo operatorja BETWEEN
Recimo, da želimo določiti vse zaposlene, katerih plača se giblje od 20000 do 50000.
Izvedemo lahko stavek SELECT z operatorjem BETWEEN v povezavi s členom WHERE, kot je prikazano v naslednjem:
IZBERI EMPLOYEE_ID , IME , E-NASLOV , PLAČAOD ZAPOSLENI
KJE PLAČA MED 20000 IN 50000 ;
Prejšnja poizvedba bi morala vrniti zaposlene, katerih plača je znotraj tega razpona, kot je prikazano v naslednjem:
Tukaj imamo samo eno vrstico, ki ustreza temu razponu plač.
Primer 2: Preizkušanje časovnega obdobja z uporabo operatorja BETWEEN
Za iskanje zapisov, ki se ujemajo z določenim časovnim obdobjem, lahko uporabimo tudi operator BETWEEN.
Za primer vzemite naslednjo tabelo:
IZBERI IME , E-NASLOV , HIRE_DATE , PLAČAOD ZAPOSLENI;
Recimo, da želimo določiti vse zaposlene, katerih datum zaposlitve je znotraj danega razpona.
Operator BETWEEN lahko združimo tudi s klavzulo WHERE, kot je prikazano v naslednjem:
IZBERI IME , E-NASLOV , HIRE_DATE , PLAČAOD ZAPOSLENI
KJE HIRE_DATE MED DATUM '2006-01-01' IN DATUM '2007-01-01' ;
V tem primeru preizkusimo iskalni pogoj, kjer je vrednost stolpca hire_date med 2006-01-01 in 2007-01-01.
To bi moralo vrniti ujemajoče se vrstice, kot je prikazano v naslednjem:
Opazite, kako so vse vrednosti v obsegu navedenega datuma.
Primer 3: Uporaba operatorja BETWEEN s klavzulo Order By
Oracle nam omogoča tudi uporabo klavzul, kot sta ORDER BY ali GROUP BY, da razporedimo nastale vrednosti v danem vrstnem redu.
Na primer, prejšnjo tabelo lahko razporedimo glede na vrednost plače od najvišje do najnižje.
IZBERI IME , E-NASLOV , HIRE_DATE , PLAČAOD ZAPOSLENI
KJE HIRE_DATE MED DATUM '2006-01-01' IN DATUM '2007-01-01'
NAROČITE BY PLAČA OPIS ;
Končna tabela je naslednja:
Zaključek
V tej vadnici smo raziskali uporabo operatorja BETWEEN v zbirkah podatkov Oracle, ki nam omogoča iskanje vrstic, katerih vrednost se ujema z danim obsegom.