Ritkán fordul elő, hogy az összes rekordot le kell kérnie egy adott táblából. Ehelyett gyakran azon kapja magát, hogy lekéri azokat a rekordokat, amelyek megfelelnek egy adott feltételnek vagy egy adott tartományon belül.
Ebben a bejegyzésben megtudjuk, hogyan kell használni a BETWEEN operátort az Oracle adatbázisban, amely lehetővé teszi számunkra, hogy kijelöljük azokat a sorokat, amelyek értékei megfelelnek egy adott tartománynak egy adatbázistáblából.
Oracle BETWEEN Operator
Az Oracle BETWEEN operátora lehetővé teszi számunkra, hogy keresési feltételt biztosítsunk a DML utasítások (például SELECT, INSERT, UPDATE vagy DELETE) használatakor.
Ha a BETWEEN operátort SELECT utasítással használjuk, akkor csak azok a sorok kerülnek kijelölésre, amelyek értéke a megadott tartomány között van.
A BETWEEN operátor szintaxisát az alábbiak szerint fejezzük ki:
kifejezés KÖZÖTT alsó_tartomány ÉS felső_tartomány;
A kifejezés ebben az esetben azt a célkifejezést határozza meg, amelynek tartományértékét tesztelni kell.
Tegyük fel, hogy egy olyan alkalmazott táblázatának összes sorát szeretnénk lekérni, akinek a fizetése egy adott tartományon belül van. Ebben az esetben a fizetés oszlopot kifejezésnek nevezzük.
A következő az előző analógia pszeudo-szintaxisa:
KIVÁLASZTÁS OSZLOPOK HOL fizetés KÖZÖTT érték_1 ÉS érték_2;Az alsó_tartomány és a felső_tartomány paraméterek a tartományba foglalandó legalacsonyabb és legmagasabb értékek beállítására szolgálnak.
Az alsó_tartomány és a felső_tartomány paramétereket az ÉS operátor kapcsolja össze.
Az utasítás végrehajtása után a BETWEEN operátor IGAZ értéket ad vissza minden olyan értékre, amely nagyobb vagy egyenlő a legalacsonyabb_tartománynál és kisebb vagy egyenlő a felső_tartománynál.
A legtöbb esetben a BETWEEN operátort egy WHERE záradékkal együtt használják, amely lehetővé teszi a keresési feltétel bevezetését.
Oracle BETWEEN Operator Példák
Ebben a részben néhány példát mutatunk be a BETWEEN operátor használatára az Oracle adatbázisban.
Tegyük fel, hogy van egy táblázatunk a képen:
KIVÁLASZTÁS MUNKAVÁLLALÓI AZONOSÍTÓ , KERESZTNÉV , EMAIL , FIZETÉS TÓL TŐL ALKALMAZOTTAK;Eredmény táblázat:
1. példa: A numerikus tartomány tesztelése a BETWEEN operátor használatával
Tegyük fel, hogy meg akarjuk határozni az összes alkalmazottat, akiknek fizetése 20 000 és 50 000 között van.
A SELECT utasítást végrehajthatjuk egy BETWEEN operátorral egy WHERE záradékkal együtt, amint azt az alábbiakban bemutatjuk:
KIVÁLASZTÁS MUNKAVÁLLALÓI AZONOSÍTÓ , KERESZTNÉV , EMAIL , FIZETÉSTÓL TŐL ALKALMAZOTTAK
HOL FIZETÉS KÖZÖTT 20000 ÉS 50000 ;
Az előző lekérdezésnek azokat az alkalmazottakat kell visszaadnia, akiknek a fizetése az alábbi tartományon belül van:
Itt csak egy sorunk van, amely megfelel ennek a fizetési tartománynak.
2. példa: A dátumtartomány tesztelése a BETWEEN operátor használatával
A BETWEEN operátort is használhatjuk egy adott dátumtartománynak megfelelő rekordok keresésére.
Vegyük példaként a következő táblázatot:
KIVÁLASZTÁS KERESZTNÉV , EMAIL , BÉRELÉSI DÁTUM , FIZETÉSTÓL TŐL ALKALMAZOTTAK;
Tegyük fel, hogy meg akarjuk határozni az összes alkalmazottat, akinek a felvételi dátuma egy adott tartományon belül van.
A BETWEEN operátort egy WHERE záradékkal is párosíthatjuk, amint azt az alábbiakban bemutatjuk:
KIVÁLASZTÁS KERESZTNÉV , EMAIL , BÉRELÉSI DÁTUM , FIZETÉSTÓL TŐL ALKALMAZOTTAK
HOL BÉRELÉSI DÁTUM KÖZÖTT DÁTUM '2006-01-01' ÉS DÁTUM '2007-01-01' ;
Ebben az esetben azt a keresési feltételt teszteljük, ahol a hire_date oszlop értéke 2006-01-01 és 2007-01-01 között van.
Ennek vissza kell adnia az egyező sorokat, ahogy az a következő:
Figyelje meg, hogy az összes érték a megadott dátum tartományába esik.
3. példa: A BETWEEN operátor használata záradék szerinti sorrenddel
Az Oracle azt is lehetővé teszi számunkra, hogy olyan záradékokat használjunk, mint az ORDER BY vagy a GROUP BY, hogy az eredményül kapott értékeket adott sorrendbe rendezzük.
Például megrendelhetjük az előző táblázatot a bérérték alapján a legmagasabbtól a legalacsonyabbig.
KIVÁLASZTÁS KERESZTNÉV , EMAIL , BÉRELÉSI DÁTUM , FIZETÉSTÓL TŐL ALKALMAZOTTAK
HOL BÉRELÉSI DÁTUM KÖZÖTT DÁTUM '2006-01-01' ÉS DÁTUM '2007-01-01'
RENDELÉS ÁLTAL FIZETÉS DESC ;
Az eredményül kapott táblázat a következő:
Következtetés
Ebben az oktatóanyagban megvizsgáltuk a BETWEEN operátor használatát Oracle adatbázisokban, amely lehetővé teszi számunkra, hogy olyan sorokat keressünk, amelyek értéke megegyezik egy adott tartománysal.