BETWEEN Operator v Oracle

Between Operator V Oracle



Ať už pracujete s produkční nebo vzorovou databází, všimnete si, že většina databází obsahuje tisíce až miliony záznamů.

Zřídkakdy je potřeba načíst všechny záznamy z dané tabulky. Místo toho se často přistihnete, že načítáte záznamy, které odpovídají konkrétní podmínce nebo v daném rozsahu.

V tomto příspěvku se naučíme, jak používat operátor BETWEEN v databázi Oracle, který nám umožňuje vybrat řádky s hodnotami, které odpovídají určitému rozsahu z databázové tabulky.







Operátor Oracle BETWEEN

Operátor BETWEEN v Oracle nám umožňuje poskytnout podmínku vyhledávání při použití příkazů DML, jako jsou SELECT, INSERT, UPDATE nebo DELETE.



Když použijeme operátor BETWEEN s příkazem SELECT, vyberou se pouze řádky, jejichž hodnoty jsou v zadaném rozsahu.



Syntaxi operátoru BETWEEN vyjadřujeme následovně:





výraz MEZI nižší_rozsah A horní_rozsah;

Výraz v tomto případě definuje cílový výraz, jehož hodnota rozsahu má být testována.

Předpokládejme, že chceme načíst všechny řádky z tabulky zaměstnance, jehož plat je v daném rozsahu. V tomto případě se sloupec plat označuje jako výraz.



Následuje pseudosyntaxe pro předchozí analogii:

VYBRAT SLOUPCE KDE plat MEZI hodnota_1 A hodnota_2;

Parametry lower_range a upper_range se používají k nastavení nejnižší a nejvyšší hodnoty, která má být zahrnuta do rozsahu.

Parametry lower_range a upper_range jsou propojeny operátorem AND.

Jakmile provedeme příkaz, operátor BETWEEN vrátí TRUE pro jakoukoli hodnotu, která je větší nebo rovna nejnižšímu_rozsahu a menší nebo rovna hornímu_rozsahu.

Ve většině případů se operátor BETWEEN používá s klauzulí WHERE, která umožňuje zavést podmínku vyhledávání.

Příklady operátorů Oracle BETWEEN

V této části uvedeme několik příkladů použití operátoru BETWEEN v databázi Oracle.

Předpokládejme, že máme tabulku, jak je znázorněno:

VYBRAT EMPLOYEE_ID , JMÉNO , E-MAILEM , PLAT Z ZAMĚSTNANCI;

Výsledná tabulka:

Příklad 1: Testování číselného rozsahu pomocí operátoru BETWEEN

Předpokládejme, že chceme určit všechny zaměstnance, jejichž plat se pohybuje od 20 000 do 50 000.

Můžeme provést příkaz SELECT s operátorem BETWEEN ve spojení s klauzulí WHERE, jak je ukázáno v následujícím:

VYBRAT EMPLOYEE_ID , JMÉNO , E-MAILEM , PLAT
Z ZAMĚSTNANCI
KDE PLAT MEZI 20 000 A 50 000 ;

Předchozí dotaz by měl vrátit zaměstnance, jejichž plat je v tomto rozsahu, jak je znázorněno v následujícím:

Zde máme pouze jeden řádek, který odpovídá danému platovému rozpětí.

Příklad 2: Testování rozsahu dat pomocí operátoru BETWEEN

Můžeme také použít operátor BETWEEN k vyhledání záznamů, které odpovídají konkrétnímu časovému období.

Vezměte si jako příklad následující tabulku:

VYBRAT JMÉNO , E-MAILEM , HIRE_DATE , PLAT
Z ZAMĚSTNANCI;

Předpokládejme, že chceme určit všechny zaměstnance, jejichž datum přijetí je v daném rozsahu.

Můžeme také spárovat operátor BETWEEN s klauzulí WHERE, jak je ukázáno v následujícím:

VYBRAT JMÉNO , E-MAILEM , HIRE_DATE , PLAT
Z ZAMĚSTNANCI
KDE HIRE_DATE MEZI DATUM '2006-01-01' A DATUM '2007-01-01' ;

V tomto případě testujeme podmínku vyhledávání, kde je hodnota sloupce rental_date mezi 2006-01-01 a 2007-01-01.

To by mělo vrátit odpovídající řádky, jak je znázorněno v následujícím:

Všimněte si, jak jsou všechny hodnoty v rozsahu zadaného data.

Příklad 3: Použití operátoru BETWEEN s řazením podle klauzule

Oracle nám také umožňuje používat klauzule jako ORDER BY nebo GROUP BY k uspořádání výsledných hodnot v daném pořadí.

Předchozí tabulku můžeme například seřadit podle hodnoty platu od nejvyšší po nejnižší.

VYBRAT JMÉNO , E-MAILEM , HIRE_DATE , PLAT
Z ZAMĚSTNANCI
KDE HIRE_DATE MEZI DATUM '2006-01-01' A DATUM '2007-01-01'
OBJEDNAT PODLE PLAT DESC ;

Výsledná tabulka je následující:

Závěr

V tomto tutoriálu jsme prozkoumali použití operátoru BETWEEN v databázích Oracle, který nám umožňuje vyhledávat řádky, jejichž hodnota odpovídá danému rozsahu.