BETWEEN Operator v Oracle

Between Operator V Oracle



Či už pracujete s produkčnou alebo vzorovou databázou, všimnete si, že väčšina databáz obsahuje tisíce až milióny záznamov.

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 , PLAT
OD 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 , PLAT
OD 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 , PLAT
OD 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 , PLAT
OD 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.