Zriedkavo sú chvíle, keď potrebujete získať všetky záznamy z danej tabuľky. Namiesto toho sa často ocitnete pri získavaní záznamov, ktoré zodpovedajú konkrétnej podmienke alebo v danom rozsahu.
V tomto príspevku sa naučíme, ako používať operátor BETWEEN v databáze Oracle, ktorý nám umožňuje vybrať riadky s hodnotami, ktoré zodpovedajú konkrétnemu rozsahu z databázovej tabuľky.
Operátor Oracle BETWEEN
Operátor BETWEEN v Oracle nám umožňuje poskytnúť podmienku vyhľadávania pri použití príkazov DML, ako sú SELECT, INSERT, UPDATE alebo DELETE.
Keď použijeme operátor BETWEEN s príkazom SELECT, vyberú sa iba riadky, ktorých hodnoty sú v zadanom rozsahu.
Syntax operátora BETWEEN vyjadrujeme nasledovne:
výraz MEDZI nižší_rozsah A horný_rozsah;
Výraz v tomto prípade definuje cieľový výraz, ktorého hodnota rozsahu sa má testovať.
Predpokladajme, že chceme získať všetky riadky z tabuľky zamestnanca, ktorého plat je v danom rozsahu. V tomto prípade sa stĺpec platu označuje ako výraz.
Nasleduje pseudosyntax predchádzajúcej analógie:
VYBRAŤ STĹPCE KDE plat MEDZI hodnota_1 A hodnota_2;Parametre lower_range a upper_range sa používajú na nastavenie najnižšej a najvyššej hodnoty, ktorá sa má zahrnúť do rozsahu.
Parametre lower_range a upper_range sú prepojené operátorom AND.
Keď vykonáme príkaz, operátor BETWEEN vráti TRUE pre každú hodnotu, ktorá je väčšia alebo rovná najnižšiemu_rozsahu a menšia alebo rovná hornému_rozsahu.
Vo väčšine prípadov sa operátor BETWEEN používa s klauzulou WHERE, ktorá vám umožňuje zaviesť podmienku vyhľadávania.
Príklady operátorov Oracle BETWEEN
V tejto časti uvedieme niekoľko príkladov použitia operátora BETWEEN v databáze Oracle.
Predpokladajme, že máme tabuľku, ako je znázornená:
VYBRAŤ IDENTIFIKAČNÉ ČÍSLO ZAMESTNANCA , KRSTNÉ MENO , EMAIL , PLAT OD ZAMESTNANCI;Výsledná tabuľka:
Príklad 1: Testovanie číselného rozsahu pomocou operátora BETWEEN
Predpokladajme, že chceme určiť všetkých zamestnancov, ktorých plat sa pohybuje od 20 000 do 50 000.
Môžeme vykonať príkaz SELECT s operátorom BETWEEN v spojení s klauzulou WHERE, ako je znázornené v nasledujúcom texte:
VYBRAŤ IDENTIFIKAČNÉ ČÍSLO ZAMESTNANCA , KRSTNÉ MENO , EMAIL , PLATOD ZAMESTNANCI
KDE PLAT MEDZI 20 000 A 50 000 ;
Predchádzajúci dotaz by mal vrátiť zamestnancov, ktorých plat je v tomto rozsahu, ako je uvedené nižšie:
Tu máme iba jeden riadok, ktorý zodpovedá tomuto rozpätiu platov.
Príklad 2: Testovanie rozsahu dátumov pomocou operátora BETWEEN
Operátor BETWEEN môžeme použiť aj na vyhľadávanie záznamov, ktoré zodpovedajú konkrétnemu rozsahu dátumov.
Ako príklad si vezmite nasledujúcu tabuľku:
VYBRAŤ KRSTNÉ MENO , EMAIL , HIRE_DATE , PLATOD ZAMESTNANCI;
Predpokladajme, že chceme určiť všetkých zamestnancov, ktorých dátum prijatia je v danom rozsahu.
Operátor BETWEEN môžeme spárovať aj s klauzulou WHERE, ako je uvedené nižšie:
VYBRAŤ KRSTNÉ MENO , EMAIL , HIRE_DATE , PLATOD ZAMESTNANCI
KDE HIRE_DATE MEDZI DÁTUM '2006-01-01' A DÁTUM '2007-01-01' ;
V tomto prípade testujeme podmienku vyhľadávania, kde je hodnota stĺpca dátum_nájmu medzi 2006-01-01 a 2007-01-01.
Toto by malo vrátiť zodpovedajúce riadky, ako je znázornené v nasledujúcom texte:
Všimnite si, ako sú všetky hodnoty v rozsahu zadaného dátumu.
Príklad 3: Použitie operátora BETWEEN s objednávkou podľa klauzuly
Oracle nám tiež umožňuje použiť klauzuly ako ORDER BY alebo GROUP BY na zoradenie výsledných hodnôt v danom poradí.
Predchádzajúcu tabuľku môžeme napríklad zoradiť podľa hodnoty platu od najvyššej po najnižšiu.
VYBRAŤ KRSTNÉ MENO , EMAIL , HIRE_DATE , PLATOD ZAMESTNANCI
KDE HIRE_DATE MEDZI DÁTUM '2006-01-01' A DÁTUM '2007-01-01'
OBJEDNAŤ BY PLAT DESC ;
Výsledná tabuľka je nasledovná:
Záver
V tomto návode sme skúmali použitie operátora BETWEEN v databázach Oracle, ktorý nám umožňuje vyhľadávať riadky, ktorých hodnota sa zhoduje s daným rozsahom.