Operator SQL Between jest operatorem logicznym w strukturalnym języku zapytań. Operator Between służy do pobierania danych z zakresu określonego w warunku w zapytaniu.
Operatory SELECT między operatorami są używane do pobierania danych:tekstu, liczby lub daty.
Między oznacza w obrębie dwóch wartości, więc między operatorami zawiera dwie wartości:wartość początkową i końcową.
Możemy użyć operatora między z instrukcją Select w klauzuli where
Możemy również użyć między operatorem z instrukcją Delete i aktualizacją.
W instrukcji Delete używamy operatora between, aby usunąć wartości między dwiema wartościami lub określone w zakresie, oraz instrukcji Update, aby zmodyfikować wartości.
Składnia operatora BETWEEN w SQL
SELECT COLUMNNAME1, COLUMNAME2 FROM TABLENAME WHERE COLUMNNAME BETWEEN VAL_1 AND VAL_2
Tutaj val_1 jest wartością początkową, a val_2 jest jej wartością końcową
Rozumiemy operator BETWEEN w SQL z przykładami.
MIĘDZY OPERATOREM Z WYBRANYM OŚWIADCZENIEM:-
Instrukcje SELECT służą do pobierania danych z tabeli SQL. Użyliśmy operatora BETWEEN z instrukcją SELECT, aby pobrać rekordy między dwiema wartościami z tabeli SQL.
Rozważ poniższe tabele wraz z podanymi rekordami.
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO | DZIAŁ | IDENTYFIKATOR KIEROWCY | WIEK | DOJ |
1001 | Vaibhav | Szarma | 65000 | PUNE | WYROCZNIA | 1 | 23 | 2021-09-20 |
1002 | Nikhil | Wani | 60000 | NOIDA | WYROCZNIA | 1 | 21 | 2021-09-23 |
1003 | Waibhavi | Miszra | 50000 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
2001 | Ruchika | Jain | 55500 | CZANDIGAR | WYROCZNIA | 1 | 22 | 2021-09-30 |
2002 | Praci | Szarma | 65500 | PUNE | FMW | 2 | 23 | 2021-09-20 |
2003 | Bhawesz | Jain | 50000 | MUMBAJ | TESTOWANIE | 4 | 21 | 2021-09-23 |
3001 | Deepam | Jauhari | 55500 | PUNE | JAVA | 3 | 21 | 2021-09-23 |
3002 | ANUJA | WANRE | 50500 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
3003 | Pranoti | Shende | 58500 | MUMBAJ | JAVA | 3 | 23 | 2021-09-20 |
4001 | RAJESH | GOUD | 60500 | MUMBAJ | TESTOWANIE | 4 | 23 | 2021-09-20 |
Przykład 1: Napisz zapytanie, aby wyświetlić rekordy z tabeli pracowników, których wynagrodzenie pracownika wynosi od 48500 do 60000.
SELECT * FROM EMPLOYEE WHERE SALARY BETWEEN 48500 AND 60000;
W powyższym zestawieniu pobraliśmy wszystkie szczegóły z tabeli pracowników, których wynagrodzenie pracownika wynosi od 48500 do 60000.
Wyjście:
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO | DZIAŁ | IDENTYFIKATOR KIEROWCY | WIEK | DOJ |
1002 | Nikhil | Wani | 60000 | NOIDA | WYROCZNIA | 1 | 21 | 2021-09-23 |
1003 | Waibhavi | Miszra | 50000 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
2001 | Ruchika | Jain | 55500 | CZANDIGAR | WYROCZNIA | 1 | 22 | 2021-09-30 |
2003 | Bhawesz | Jain | 50000 | MUMBAJ | TESTOWANIE | 4 | 21 | 2021-09-23 |
3001 | Deepam | Jauhari | 55500 | PUNE | JAVA | 3 | 21 | 2021-09-23 |
3002 | ANUJA | WANRE | 50500 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
3003 | Pranoti | Shende | 58500 | MUMBAJ | JAVA | 3 | 23 | 2021-09-20 |
Przykład 2: Napisz zapytanie, aby wyświetlić identyfikator pracownika, imię, nazwisko, wynagrodzenie i miasto z tabeli pracowników, których miasto pracownika znajduje się między Mumbajem a Pune.
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY FROM EMPLOYEE WHERE CITY BETWEEN 'MUMBAI' AND 'PUNE';
W powyższym oświadczeniu pobraliśmy identyfikator pracownika, nazwiska pracowników, miasto pracownika i wynagrodzenie z tabeli pracowników tych pracowników, których miasto jest standardem między Mumbajem a Pune.
Wyjście:
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO |
1001 | Vaibhav | Szarma | 65000 | PUNE |
1002 | Nikhil | Wani | 60000 | NOIDA |
2002 | Praci | Szarma | 65500 | PUNE |
2003 | Bhawesz | Jain | 50000 | MUMBAJ |
3001 | Deepam | Jauhari | 55500 | PUNE |
3003 | Pranoti | Shende | 58500 | MUMBAJ |
4001 | RAJESH | GOUD | 60500 | MUMBAJ |
Przykład 3: Napisz zapytanie, aby wyświetlić identyfikator pracownika, imię, nazwisko, wynagrodzenie oraz identyfikator działu i kierownika z tabeli pracowników, których dział pracowników znajduje się między Javą a Oracle lub wynagrodzeniem między 45000 a 55000.
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, DEPARTMENT, MANAGERID FROM EMPLOYEE WHERE DEPARTMENT BETWEEN 'JAVA' AND 'ORACLE' OR SALARY BETWEEN 45000 AND 55000;
W powyższym oświadczeniu użyliśmy wielu operatorów BETWEEN i operatorów OR. Pobraliśmy identyfikator pracownika, imię, nazwisko, wynagrodzenie, dział i identyfikator kierownika z tabeli pracowników. Pierwszy operator BETWEEN służy do pobierania powyższych danych pracowników, których nazwa działu znajduje się między Javą a Oracle. Po pierwszym operatorze BETWEEN przełączy się na inny operator BETWEEN, który służy do pobierania powyższych danych pracowników, których wynagrodzenie wynosi od 45000 do 55000. Powyższe zestawienie wyświetli zarówno rekordy pobrane przez operatora BETWEEN, ponieważ użyliśmy operatora OR w oświadczenie.
Wyjście:
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | DZIAŁ | IDENTYFIKATOR KIEROWCY |
1001 | Vaibhav | Szarma | 65000 | WYROCZNIA | 1 |
1002 | Nikhil | Wani | 60000 | WYROCZNIA | 1 |
1003 | Waibhavi | Miszra | 50000 | FMW | 2 |
2001 | Ruchika | Jain | 55500 | WYROCZNIA | 1 |
2003 | Bhawesz | Jain | 50000 | TESTOWANIE | 4 |
3001 | Deepam | Jauhari | 55500 | JAVA | 3 |
3002 | ANUJA | WANRE | 50500 | FMW | 2 |
3003 | Pranoti | Shende | 58500 | JAVA | 3 |
Przykład 4: Napisz zapytanie, aby wyświetlić identyfikator pracownika, imię, nazwisko, pensję oraz miasto i identyfikator kierownika z tabeli pracowników, których miasto pracownika znajduje się między Chandigarh a Pune i wynagrodzeniem między 45000 a 60000.
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY, MANAGERID FROM EMPLOYEE WHERE CITY BETWEEN 'CHANDIGARH' AND 'PUNE' AND SALARY BETWEEN 45000 AND 60000;
W powyższym oświadczeniu użyliśmy wielu operatorów BETWEEN i operatorów OR. Pobraliśmy identyfikator pracownika, imię, nazwisko, wynagrodzenie, miasto i identyfikator kierownika z tabeli pracowników. Pierwszy operator BETWEEN służy do pobierania powyższych danych pracowników, których nazwa miasta znajduje się między Chandigarh i Pune. Po pierwszym operatorze BETWEEN przełączy się na innego operatora BETWEEN, który służy do pobierania powyższych danych pracowników, których wynagrodzenie wynosi od 45000 do 60000. Powyższe zestawienie wyświetli tylko te rekordy pracowników, których nazwa miasta między Chandigarh a Pune i Wynagrodzenie między 45000 a 60000, ponieważ używaliśmy operatora AND.
Wyjście:
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO | IDENTYFIKATOR KIEROWCY |
1002 | Nikhil | Wani | 60000 | NOIDA | 1 |
1003 | Waibhavi | Miszra | 50000 | JAIPUR | 2 |
2001 | Ruchika | Jain | 55500 | CZANDIGAR | 1 |
2003 | Bhawesz | Jain | 50000 | MUMBAJ | 4 |
3001 | Deepam | Jauhari | 55500 | PUNE | 3 |
3002 | ANUJA | WANRE | 50500 | JAIPUR | 2 |
3003 | Pranoti | Shende | 58500 | MUMBAJ | 3 |
Przykład 5: Napisz zapytanie, aby wyświetlić identyfikator pracownika, imię, nazwisko, wynagrodzenie i miasto z tabeli pracowników, w której wynagrodzenie pracownika wynosi od 50000 do 65000 w kolejności według miasta.
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY, MANAGERID FROM EMPLOYEE WHERE CITY BETWEEN 'CHANDIGARH' AND 'PUNE' AND SALARY BETWEEN 45000 AND 60000;
W powyższym zestawieniu pobraliśmy identyfikator pracownika, imię, nazwisko, wynagrodzenie i miasto z tabeli pracowników tych pracowników, których wynagrodzenie wynosi od 50000 do 65000. Wyświetliliśmy wynik w kolejności rosnącej według kolumny miasta.
Wyjście:
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO |
2001 | Ruchika | Jain | 55500 | CZANDIGAR |
1003 | Waibhavi | Miszra | 50000 | JAIPUR |
3002 | ANUJA | WANRE | 50500 | JAIPUR |
2003 | Bhawesz | Jain | 50000 | MUMBAJ |
3003 | Pranoti | Shende | 58500 | MUMBAJ |
4001 | RAJESH | GOUD | 60500 | MUMBAJ |
1002 | Nikhil | Wani | 60000 | NOIDA |
1001 | Vaibhav | Szarma | 65000 | PUNE |
3001 | Deepam | Jauhari | 55500 | PUNE |
Przykład 6: Napisz zapytanie, aby wyświetlić identyfikator pracownika, imię, nazwisko, wynagrodzenie i miasto, w którym wynagrodzenie pracownika wynosi od 45000 do 65000, a miasto pracownika to tylko „Mumbai”, „Pune”.
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY, MANAGERID FROM EMPLOYEE WHERE CITY BETWEEN 'CHANDIGARH' AND 'PUNE' AND SALARY BETWEEN 45000 AND 60000;
W powyższym oświadczeniu pobraliśmy identyfikator pracownika, imię, nazwisko, wynagrodzenie i miasto z tabeli pracowników tych pracowników, których wynagrodzenie pracownika wynosi od 45 000 do 65 000, a miasto obejmuje tylko Mumbai i Pune.
Wyjście:
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | MIASTO | WYNAGRODZENIE |
1001 | Vaibhav | Szarma | PUNE | 65000 |
2003 | Bhawesz | Jain | MUMBAJ | 50000 |
3001 | Deepam | Jauhari | PUNE | 55500 |
3003 | Pranoti | Shende | MUMBAJ | 58500 |
4001 | RAJESH | GOUD | MUMBAJ | 60500 |
MIĘDZY OPERATOREM Z OŚWIADCZENIEM O AKTUALIZACJI
Instrukcja UPDATE modyfikuje dane obecne w tabelach SQL. Użyjemy operatora BETWEEN z instrukcją UPDATE, aby zmodyfikować rekordy, które spełniają zakres określony w instrukcji.
Składnia operatora BETWEEN z instrukcją UPDATE:
UPDATE TABLE_NAME SET COLUMN_NAME = VALUES WHERE COLUMN_NAME BETWEEN VALUE1 AND VALUE2;
Rozważ poniższe tabele wraz z podanymi rekordami.
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO | DZIAŁ | IDENTYFIKATOR KIEROWCY | WIEK | DOJ |
1001 | Vaibhav | Szarma | 65000 | PUNE | WYROCZNIA | 1 | 23 | 2021-09-20 |
1002 | Nikhil | Wani | 60000 | NOIDA | WYROCZNIA | 1 | 21 | 2021-09-23 |
1003 | Waibhavi | Miszra | 50000 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
2001 | Ruchika | Jain | 55500 | CZANDIGAR | WYROCZNIA | 1 | 22 | 2021-09-30 |
2002 | Praci | Szarma | 65500 | PUNE | FMW | 2 | 23 | 2021-09-20 |
2003 | Bhawesz | Jain | 50000 | MUMBAJ | TESTOWANIE | 4 | 21 | 2021-09-23 |
3001 | Deepam | Jauhari | 55500 | PUNE | JAVA | 3 | 21 | 2021-09-23 |
3002 | ANUJA | WANRE | 50500 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
3003 | Pranoti | Shende | 58500 | MUMBAJ | JAVA | 3 | 23 | 2021-09-20 |
4001 | RAJESH | GOUD | 60500 | MUMBAJ | TESTOWANIE | 4 | 23 | 2021-09-20 |
Przykład 1: Napisz zapytanie, aby zmienić 1,2-krotność wynagrodzenia pracownika, którego miasto pracownika znajduje się między Mumbajem a Noidą.
UPDATE EMPLOYEE SET SALARY = SALARY * 1.2 WHERE CITY BETWEEN ‘MUMBAI’ AND ‘NOIDA’;
W powyższym zestawieniu zwiększamy pensję pracowników o 1,2 osób, których miasto znajduje się między Mumbajem a Pune.
Aby sprawdzić, czy wynagrodzenie pracowników zostało zaktualizowane, czy nie, użyjemy instrukcji SELECT:
SELECT EMPLOYEEID, SALARY, CITY FROM EMPLOYEE WHERE CITY BETWEEN ‘MUMBAI’ AND ’NOIDA’;
ID PRACOWNIKA | WYNAGRODZENIE | MIASTO |
1002 | 86400 | NOIDA |
2003 | 86400 | MUMBAJ |
3003 | 84240 | MUMBAJ |
4001 | 87210 | MUMBAJ |
Przykład 2: Napisz zapytanie, aby zaktualizować miasto pracownika, którego data dołączenia przypada między 2021-09-20 a 2021-09-22, a wynagrodzenie wynosi między 78500 a 85000.
UPDATE EMPLOYEE SET CITY = 'DELHI' WHERE DOJ BETWEEN '2021-09-20' AND '2021-09-22' AND SALARY BETWEEN 78500 AND 85000;
W powyższej instrukcji użyliśmy wielu operatorów BETWEEN. Ustawiamy miasto pracownika na Delhi dla tych pracowników, których data dołączenia przypada między 2021-09-20 i 2021-09-22, a inny pomiędzy sprawdzi, których wynagrodzenie wynosi od 78500 do 85000. Jeśli obaj operatorzy BETWEEN spełniają wymagania warunek tylko dla pracownika, wówczas nazwa miasta pracownika zostanie zmieniona.
Aby sprawdzić, czy wynagrodzenie pracowników zostało zaktualizowane, czy nie, użyjemy instrukcji SELECT:
SELECT EMPLOYEEID, CITY, SALARY, DOJ FROM EMPLOYEE WHERE DOJ BETWEEN '2021-09-20' AND '2021-09-22' AND SALARY BETWEEN 78500 AND 85000;
ID PRACOWNIKA | MIASTO | WYNAGRODZENIE | DOJ |
2002 | DELHI | 786400 | 2021-09-20 |
3003 | DELHI | 84240 | 2021-09-20 |
MIĘDZY OPERATOREM Z OŚWIADCZENIEM USUNIĘCIA
Instrukcja DELETE służy do usuwania rekordów z tabeli SQL. Używamy operatora BETWEEN z instrukcją DELETE, aby usunąć rekordy, które spełniają zakres określony w instrukcji.
Składnia operatora BETWEEN z instrukcją DELETE:
DELETE FROM TABLE_NAME WHERE COLUMN_NAME BETWEEN VALUE1 AND VALUE2;
Rozważ poniższe tabele wraz z podanymi rekordami.
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO | DZIAŁ | IDENTYFIKATOR KIEROWCY | WIEK | DOJ |
1001 | Vaibhav | Szarma | 78000 | PUNE | WYROCZNIA | 1 | 23 | 2021-09-20 |
1002 | Nikhil | Wani | 86400 | NOIDA | WYROCZNIA | 1 | 21 | 2021-09-23 |
1003 | Waibhavi | Miszra | 50000 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
2001 | Ruchika | Jain | 55500 | CZANDIGAR | WYROCZNIA | 1 | 22 | 2021-09-30 |
2002 | Praci | Szarma | 78600 | DELHI | FMW | 2 | 23 | 2021-09-20 |
2003 | Bhawesz | Jain | 86400 | MUMBAJ | TESTOWANIE | 4 | 21 | 2021-09-23 |
3001 | Deepam | Jauhari | 66600 | PUNE | JAVA | 3 | 21 | 2021-09-23 |
3002 | ANUJA | WANRE | 60600 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
3003 | Pranoti | Shende | 84240 | DELHI | JAVA | 3 | 23 | 2021-09-20 |
4001 | RAJESH | GOUD | 87120 | MUMBAJ | TESTOWANIE | 4 | 23 | 2021-09-20 |
Przykład 1: Napisz zapytanie, aby usunąć dane pracownika z tabeli pracowników tych pracowników, których wynagrodzenie wynosi od 45000 do 65000.
DELETE FROM EMPLOYEE WHERE SALARY BETWEEN 45000 AND 65000;
W powyższym oświadczeniu usuwamy dane pracowników tych pracowników, których wynagrodzenie wynosi od 45000 do 65000.
Aby sprawdzić, czy dane pracownika zostały usunięte, czy nie, użyjemy instrukcji SELECT:
SELECT * FROM EMPLOYEE;
ID PRACOWNIKA | FIRST_NAME | LAST_NAME | WYNAGRODZENIE | MIASTO | DZIAŁ | IDENTYFIKATOR KIEROWCY | WIEK | DOJ |
1001 | Vaibhav | Szarma | 78000 | PUNE | WYROCZNIA | 1 | 23 | 2021-09-20 |
1002 | Nikhil | Wani | 86400 | NOIDA | WYROCZNIA | 1 | 21 | 2021-09-23 |
2002 | Praci | Szarma | 78600 | DELHI | FMW | 2 | 23 | 2021-09-20 |
2003 | Bhawesz | Jain | 86400 | MUMBAJ | TESTOWANIE | 4 | 21 | 2021-09-23 |
3001 | Deepam | Jauhari | 66600 | PUNE | JAVA | 3 | 21 | 2021-09-23 |
3003 | Pranoti | Shende | 84240 | DELHI | JAVA | 3 | 23 | 2021-09-20 |
4001 | RAJESH | GOUD | 87120 | MUMBAJ | TESTOWANIE | 4 | 23 | 2021-09-20 |
Przykład 2: Napisz zapytanie, aby usunąć dane pracownika z tabeli pracowników tych pracowników, których miasto znajduje się między Delhi a Pune.
DELETE FROM EMPLOYEE WHERE CITY BETWEEN ‘DELHI’ AND ‘PUNE’;
W powyższym oświadczeniu usuwamy dane pracowników tych pracowników, których miasto znajduje się między Delhi a Pune.
Aby sprawdzić, czy dane pracownika zostały usunięte, czy nie, użyjemy instrukcji SELECT:
SELECT * FROM EMPLOYEE;