O operador SQL Between é um operador lógico na Structured Query Language. O operador Between é usado para recuperar dados dentro do intervalo especificado na condição da consulta.
O SELECT entre operadores é usado para recuperar os dados:texto, número ou data.
Entre significa dentro dos dois valores, portanto, entre operadores inclui dois valores:um valor inicial e um valor final.
Podemos usar o operador between com a instrução Select na cláusula where
Também podemos usar entre o operador com a instrução Delete e a instrução update.
Na instrução Delete, usamos o operador between para excluir os valores entre os dois valores ou especificados dentro do intervalo e com a instrução Update para modificar os valores.
Sintaxe do operador BETWEEN em SQL
SELECT COLUMNNAME1, COLUMNAME2 FROM TABLENAME WHERE COLUMNNAME BETWEEN VAL_1 AND VAL_2
Aqui, val_1 é o valor inicial e val_2 é seu valor final
Vamos entender o operador BETWEEN em SQL com exemplos.
ENTRE O OPERADOR COM DECLARAÇÃO SELECIONADA:-
As instruções SELECT são usadas para recuperar os dados da tabela SQL. Usamos o operador BETWEEN com a instrução SELECT para buscar os registros entre dois valores da tabela SQL.
Considere as tabelas a seguir junto com os registros fornecidos.
EMPLOYEEID | FIRST_NAME | LAST_NAME | SALÁRIO | CIDADE | DEPARTAMENTO | GERENTE | IDADE | DOJ |
1001 | Vaibhav | Sharma | 65.000 | PUNE | ORACLE | 1 | 23 | 20-09-2021 |
1002 | Nikhil | Vani | 60.000 | NOIDA | ORACLE | 1 | 21 | 23-09-2021 |
1003 | Vaibhavi | Mishra | 50.000 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
2001 | Ruchika | Jain | 55500 | CHANDIGARH | ORACLE | 1 | 22 | 2021-09-30 |
2002 | Praqui | Sharma | 65500 | PUNE | FMW | 2 | 23 | 20-09-2021 |
2003 | Bhavesh | Jain | 50.000 | MUMBAI | TESTE | 4 | 21 | 23-09-2021 |
3001 | Deepam | Jauhari | 55500 | PUNE | JAVA | 3 | 21 | 23-09-2021 |
3002 | ANUJA | QUERER | 50500 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
3003 | Pranóti | Shende | 58500 | MUMBAI | JAVA | 3 | 23 | 20-09-2021 |
4001 | RAJESH | GOUD | 60500 | MUMBAI | TESTE | 4 | 23 | 20-09-2021 |
Exemplo 1: Escreva uma consulta para exibir os registros da tabela de funcionários cujo salário de funcionário esteja entre 48.500 e 60.000.
SELECT * FROM EMPLOYEE WHERE SALARY BETWEEN 48500 AND 60000;
Na declaração acima, buscamos todos os detalhes da tabela de funcionários cujo salário de funcionário está entre 48.500 e 60.000.
Saída:
EMPLOYEEID | FIRST_NAME | LAST_NAME | SALÁRIO | CIDADE | DEPARTAMENTO | GERENTE | IDADE | DOJ |
1002 | Nikhil | Vani | 60.000 | NOIDA | ORACLE | 1 | 21 | 23-09-2021 |
1003 | Vaibhavi | Mishra | 50.000 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
2001 | Ruchika | Jain | 55500 | CHANDIGARH | ORACLE | 1 | 22 | 2021-09-30 |
2003 | Bhavesh | Jain | 50.000 | MUMBAI | TESTE | 4 | 21 | 23-09-2021 |
3001 | Deepam | Jauhari | 55500 | PUNE | JAVA | 3 | 21 | 23-09-2021 |
3002 | ANUJA | QUERER | 50500 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
3003 | Pranóti | Shende | 58500 | MUMBAI | JAVA | 3 | 23 | 20-09-2021 |
Exemplo 2: Escreva uma consulta para exibir o ID do funcionário, nome, sobrenome, salário e cidade da tabela de funcionários cuja cidade do funcionário está entre Mumbai e Pune.
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY FROM EMPLOYEE WHERE CITY BETWEEN 'MUMBAI' AND 'PUNE';
Na declaração acima, buscamos o ID do funcionário, os nomes dos funcionários, a cidade do funcionário e o salário da tabela de funcionários dos funcionários cujo padrão de cidade entre Mumbai e Pune.
Saída:
EMPLOYEEID | FIRST_NAME | LAST_NAME | SALÁRIO | CIDADE |
1001 | Vaibhav | Sharma | 65.000 | PUNE |
1002 | Nikhil | Vani | 60.000 | NOIDA |
2002 | Praqui | Sharma | 65500 | PUNE |
2003 | Bhavesh | Jain | 50.000 | MUMBAI |
3001 | Deepam | Jauhari | 55500 | PUNE |
3003 | Pranóti | Shende | 58500 | MUMBAI |
4001 | RAJESH | GOUD | 60500 | MUMBAI |
Exemplo 3: Escreva uma consulta para exibir o ID do funcionário, nome, sobrenome, salário e ID do departamento e gerente da tabela de funcionários cujo departamento de funcionários está entre Java e Oracle ou salário entre 45.000 e 55.000.
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, DEPARTMENT, MANAGERID FROM EMPLOYEE WHERE DEPARTMENT BETWEEN 'JAVA' AND 'ORACLE' OR SALARY BETWEEN 45000 AND 55000;
Usamos vários operadores BETWEEN e operadores OR na instrução acima. Buscamos o ID do funcionário, nome, sobrenome, salário, departamento e ID do gerente da tabela de funcionários. O primeiro operador BETWEEN é usado para buscar os detalhes acima dos funcionários cujo nome de departamento está entre Java e Oracle. Após o primeiro operador BETWEEN, ele mudará para outro operador BETWEEN, que é usado para buscar os detalhes acima dos funcionários cujo salário está entre 45.000 e 55.000. A instrução acima exibirá os registros buscados pelo operador BETWEEN porque usamos o operador OR no demonstração.
Saída:
EMPLOYEEID | FIRST_NAME | LAST_NAME | SALÁRIO | DEPARTAMENTO | GERENTE |
1001 | Vaibhav | Sharma | 65.000 | ORACLE | 1 |
1002 | Nikhil | Vani | 60.000 | ORACLE | 1 |
1003 | Vaibhavi | Mishra | 50.000 | FMW | 2 |
2001 | Ruchika | Jain | 55500 | ORACLE | 1 |
2003 | Bhavesh | Jain | 50.000 | TESTE | 4 |
3001 | Deepam | Jauhari | 55500 | JAVA | 3 |
3002 | ANUJA | QUERER | 50500 | FMW | 2 |
3003 | Pranóti | Shende | 58500 | JAVA | 3 |
Exemplo 4: Escreva uma consulta para exibir o ID do funcionário, nome, sobrenome, salário e cidade e ID do gerente da tabela de funcionários cuja cidade do funcionário está entre Chandigarh e Pune e salário entre 45.000 e 60.000.
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY, MANAGERID FROM EMPLOYEE WHERE CITY BETWEEN 'CHANDIGARH' AND 'PUNE' AND SALARY BETWEEN 45000 AND 60000;
Usamos vários operadores BETWEEN e operadores OR na instrução acima. Buscamos o ID do funcionário, nome, sobrenome, salário, cidade e ID do gerente da tabela de funcionários. O primeiro operador BETWEEN é usado para buscar os detalhes acima dos funcionários cujo nome da cidade está entre Chandigarh e Pune. Após o primeiro operador BETWEEN, ele mudará para outro operador BETWEEN, que é usado para buscar os detalhes acima dos funcionários cujo salário está entre 45.000 e 60.000. A instrução acima exibirá apenas os registros de funcionários cujo nome da cidade entre Chandigarh e Pune e Salário entre 45.000 e 60.000, pois usamos o operador AND.
Saída:
EMPLOYEEID | FIRST_NAME | LAST_NAME | SALÁRIO | CIDADE | GERENTE |
1002 | Nikhil | Vani | 60.000 | NOIDA | 1 |
1003 | Vaibhavi | Mishra | 50.000 | JAIPUR | 2 |
2001 | Ruchika | Jain | 55500 | CHANDIGARH | 1 |
2003 | Bhavesh | Jain | 50.000 | MUMBAI | 4 |
3001 | Deepam | Jauhari | 55500 | PUNE | 3 |
3002 | ANUJA | QUERER | 50500 | JAIPUR | 2 |
3003 | Pranóti | Shende | 58500 | MUMBAI | 3 |
Exemplo 5: Escreva uma consulta para exibir ID do funcionário, nome, sobrenome, salário e cidade da tabela de funcionários onde o salário do funcionário entre 50.000 e 65.000 ordena por cidade.
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY, MANAGERID FROM EMPLOYEE WHERE CITY BETWEEN 'CHANDIGARH' AND 'PUNE' AND SALARY BETWEEN 45000 AND 60000;
Na instrução acima, buscamos o ID do funcionário, nome, sobrenome, salário e cidade da tabela de funcionários cujos salários estão entre 50.000 e 65.000. Exibimos o resultado em ordem crescente pela coluna cidade.
Saída:
EMPLOYEEID | FIRST_NAME | LAST_NAME | SALÁRIO | CIDADE |
2001 | Ruchika | Jain | 55500 | CHANDIGARH |
1003 | Vaibhavi | Mishra | 50.000 | JAIPUR |
3002 | ANUJA | QUERER | 50500 | JAIPUR |
2003 | Bhavesh | Jain | 50.000 | MUMBAI |
3003 | Pranóti | Shende | 58500 | MUMBAI |
4001 | RAJESH | GOUD | 60500 | MUMBAI |
1002 | Nikhil | Vani | 60.000 | NOIDA |
1001 | Vaibhav | Sharma | 65.000 | PUNE |
3001 | Deepam | Jauhari | 55500 | PUNE |
Exemplo 6: Escreva uma consulta para exibir o ID do funcionário, nome, sobrenome, salário e cidade onde o salário do funcionário está entre 45.000 e 65.000 e onde a cidade do funcionário é apenas “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;
Na declaração acima, buscamos o ID do funcionário, nome, sobrenome, salário e cidade da tabela de funcionários dos funcionários cujo salário do funcionário está entre 45.000 e 65.000 e a cidade inclui apenas Mumbai e Pune.
Saída:
EMPLOYEEID | FIRST_NAME | LAST_NAME | CIDADE | SALÁRIO |
1001 | Vaibhav | Sharma | PUNE | 65.000 |
2003 | Bhavesh | Jain | MUMBAI | 50.000 |
3001 | Deepam | Jauhari | PUNE | 55500 |
3003 | Pranóti | Shende | MUMBAI | 58500 |
4001 | RAJESH | GOUD | MUMBAI | 60500 |
ENTRE OPERADOR COM DECLARAÇÃO DE ATUALIZAÇÃO
A instrução UPDATE modifica os dados presentes nas tabelas SQL. Usaremos o operador BETWEEN com a instrução UPDATE para modificar os registros que satisfazem o intervalo especificado na instrução.
Sintaxe do operador BETWEEN com a instrução UPDATE:
UPDATE TABLE_NAME SET COLUMN_NAME = VALUES WHERE COLUMN_NAME BETWEEN VALUE1 AND VALUE2;
Considere as tabelas a seguir junto com os registros fornecidos.
EMPLOYEEID | FIRST_NAME | LAST_NAME | SALÁRIO | CIDADE | DEPARTAMENTO | GERENTE | IDADE | DOJ |
1001 | Vaibhav | Sharma | 65.000 | PUNE | ORACLE | 1 | 23 | 20-09-2021 |
1002 | Nikhil | Vani | 60.000 | NOIDA | ORACLE | 1 | 21 | 23-09-2021 |
1003 | Vaibhavi | Mishra | 50.000 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
2001 | Ruchika | Jain | 55500 | CHANDIGARH | ORACLE | 1 | 22 | 2021-09-30 |
2002 | Praqui | Sharma | 65500 | PUNE | FMW | 2 | 23 | 20-09-2021 |
2003 | Bhavesh | Jain | 50.000 | MUMBAI | TESTE | 4 | 21 | 23-09-2021 |
3001 | Deepam | Jauhari | 55500 | PUNE | JAVA | 3 | 21 | 23-09-2021 |
3002 | ANUJA | QUERER | 50500 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
3003 | Pranóti | Shende | 58500 | MUMBAI | JAVA | 3 | 23 | 20-09-2021 |
4001 | RAJESH | GOUD | 60500 | MUMBAI | TESTE | 4 | 23 | 20-09-2021 |
Exemplo 1: Escreva uma consulta para modificar o salário do funcionário em 1,2 vezes cuja cidade do funcionário esteja entre Mumbai e Noida.
UPDATE EMPLOYEE SET SALARY = SALARY * 1.2 WHERE CITY BETWEEN ‘MUMBAI’ AND ‘NOIDA’;
Na declaração acima, aumentamos o salário do funcionário em 1,2 daqueles cuja cidade está entre Mumbai e Pune.
Para verificar se o salário dos funcionários está atualizado ou não com sucesso, usaremos a instrução SELECT:
SELECT EMPLOYEEID, SALARY, CITY FROM EMPLOYEE WHERE CITY BETWEEN ‘MUMBAI’ AND ’NOIDA’;
EMPLOYEEID | SALÁRIO | CIDADE |
1002 | 86400 | NOIDA |
2003 | 86400 | MUMBAI |
3003 | 84240 | MUMBAI |
4001 | 87210 | MUMBAI |
Exemplo 2: Escreva uma consulta para atualizar a cidade do funcionário cuja data de ingresso está entre 20/09/2021 e 22/09/2021 e o salário está entre 78.500 e 85.000.
UPDATE EMPLOYEE SET CITY = 'DELHI' WHERE DOJ BETWEEN '2021-09-20' AND '2021-09-22' AND SALARY BETWEEN 78500 AND 85000;
Usamos vários operadores BETWEEN na instrução na instrução acima. Estamos definindo a cidade do funcionário para Delhi daqueles funcionários cuja data de ingresso é entre '2021-09-20' E '2021-09-22' e outro entre verificará cujo salário está entre 78500 e 85000. Se ambos o operador BETWEEN satisfizer o condição apenas para o funcionário, o nome da cidade do funcionário será modificado.
Para verificar se o salário dos funcionários está atualizado ou não com sucesso, usaremos a instrução SELECT:
SELECT EMPLOYEEID, CITY, SALARY, DOJ FROM EMPLOYEE WHERE DOJ BETWEEN '2021-09-20' AND '2021-09-22' AND SALARY BETWEEN 78500 AND 85000;
EMPLOYEEID | CIDADE | SALÁRIO | DOJ |
2002 | DÉLHI | 786400 | 20-09-2021 |
3003 | DÉLHI | 84240 | 20-09-2021 |
ENTRE OPERADOR COM DECLARAÇÃO DE EXCLUSÃO
A instrução DELETE é usada para excluir os registros da tabela SQL. Usamos o operador BETWEEN com uma instrução DELETE para excluir os registros que atendem ao intervalo especificado na instrução.
Sintaxe do operador BETWEEN com a instrução DELETE:
DELETE FROM TABLE_NAME WHERE COLUMN_NAME BETWEEN VALUE1 AND VALUE2;
Considere as tabelas a seguir junto com os registros fornecidos.
EMPLOYEEID | FIRST_NAME | LAST_NAME | SALÁRIO | CIDADE | DEPARTAMENTO | GERENTE | IDADE | DOJ |
1001 | Vaibhav | Sharma | 78.000 | PUNE | ORACLE | 1 | 23 | 20-09-2021 |
1002 | Nikhil | Vani | 86400 | NOIDA | ORACLE | 1 | 21 | 23-09-2021 |
1003 | Vaibhavi | Mishra | 50.000 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
2001 | Ruchika | Jain | 55500 | CHANDIGARH | ORACLE | 1 | 22 | 2021-09-30 |
2002 | Praqui | Sharma | 78600 | DÉLHI | FMW | 2 | 23 | 20-09-2021 |
2003 | Bhavesh | Jain | 86400 | MUMBAI | TESTE | 4 | 21 | 23-09-2021 |
3001 | Deepam | Jauhari | 66600 | PUNE | JAVA | 3 | 21 | 23-09-2021 |
3002 | ANUJA | QUERER | 60600 | JAIPUR | FMW | 2 | 22 | 2021-09-30 |
3003 | Pranóti | Shende | 84240 | DÉLHI | JAVA | 3 | 23 | 20-09-2021 |
4001 | RAJESH | GOUD | 87120 | MUMBAI | TESTE | 4 | 23 | 20-09-2021 |
Exemplo 1: Escreva uma consulta para excluir os detalhes do funcionário da tabela de funcionários dos funcionários cujo salário está entre 45.000 e 65.000.
DELETE FROM EMPLOYEE WHERE SALARY BETWEEN 45000 AND 65000;
Na declaração acima, estamos excluindo os detalhes dos funcionários cujos salários estão entre 45.000 e 65.000.
Para verificar se os detalhes do funcionário foram excluídos ou não com sucesso, usaremos a instrução SELECT:
SELECT * FROM EMPLOYEE;
EMPLOYEEID | FIRST_NAME | LAST_NAME | SALÁRIO | CIDADE | DEPARTAMENTO | GERENTE | IDADE | DOJ |
1001 | Vaibhav | Sharma | 78.000 | PUNE | ORACLE | 1 | 23 | 20-09-2021 |
1002 | Nikhil | Vani | 86400 | NOIDA | ORACLE | 1 | 21 | 23-09-2021 |
2002 | Praqui | Sharma | 78600 | DÉLHI | FMW | 2 | 23 | 20-09-2021 |
2003 | Bhavesh | Jain | 86400 | MUMBAI | TESTE | 4 | 21 | 23-09-2021 |
3001 | Deepam | Jauhari | 66600 | PUNE | JAVA | 3 | 21 | 23-09-2021 |
3003 | Pranóti | Shende | 84240 | DÉLHI | JAVA | 3 | 23 | 20-09-2021 |
4001 | RAJESH | GOUD | 87120 | MUMBAI | TESTE | 4 | 23 | 20-09-2021 |
Exemplo 2: Escreva uma consulta para excluir os detalhes do funcionário da tabela de funcionários dos funcionários cuja cidade está entre Delhi e Pune.
DELETE FROM EMPLOYEE WHERE CITY BETWEEN ‘DELHI’ AND ‘PUNE’;
Na declaração acima, estamos excluindo os detalhes dos funcionários cuja cidade fica entre Delhi e Pune.
Para verificar se os detalhes do funcionário foram excluídos ou não com sucesso, usaremos a instrução SELECT:
SELECT * FROM EMPLOYEE;