Em um banco de dados Oracle aberto e em condições ideais há uma tabela chamada funcionario com os campos idFuncionario (inteiro − primary key), nome (cadeia de caracteres) e salario (real). Para exibir o nome e o salário de todos os funcionários cujo valor de salário esteja fora do intervalo de 1000 a 12000 utiliza-se a instrução SQL SELECT nome, salario FROM funcionario WHERE
Asalario<1000 AND salario>12000;
Bsalario NOT BETWEEN 1000 OR 12000;
C1000>salario>12000;
Dsalario NOT BETWEEN 1000 AND 12000;
Esalario BETWEEN 1000 AND 12000;
Revelar gabarito e comentário▾
GabaritoD — salario NOT BETWEEN 1000 AND 12000;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
SQL: Operador BETWEEN e NOT BETWEEN
Gabarito: letra D. Para selecionar registros cujo valor esteja fora de um intervalo, utiliza-se NOT BETWEEN com AND (ex.: salario NOT BETWEEN 1000 AND 12000). As demais alternativas apresentam erros de sintaxe ou lógica, como usar AND em vez de OR para faixa, operadores relacionais encadeados inválidos ou o operador inverso.
A banca testa o conhecimento do operador BETWEEN e sua negação NOT BETWEEN. Em SQL, BETWEEN é inclusivo (valores iguais aos extremos são considerados dentro do intervalo). Para obter valores fora do intervalo, o comando correto é NOT BETWEEN valor1 AND valor2.
Alternativa A — ❌ Incorreta
Usa salario<1000 AND salario>12000. Um salário não pode ser simultaneamente menor que 1000 e maior que 12000. A condição correta para fora do intervalo seria OR (salario<1000 OR salario>12000), não AND.
Alternativa B — ❌ Incorreta
Escreve salario NOT BETWEEN 1000 OR 12000. A sintaxe do NOT BETWEEN exige a palavra AND entre os limites, e não OR. O correto é NOT BETWEEN 1000 AND 12000.
Alternativa C — ❌ Incorreta
Usa 1000>salario>12000. Essa notação encadeada não é válida em SQL. A comparação deve ser feita com operadores lógicos (AND/OR) ou com BETWEEN.
Alternativa D — ✅ Correta ⟵ GABARITO
salario NOT BETWEEN 1000 AND 12000 é a sintaxe padrão SQL para selecionar registros com valores fora do intervalo de 1000 a 12000 (inclusive extremos). Funciona em Oracle e em praticamente todos os SGBDs relacionais.
Alternativa E — ❌ Incorreta
Usa salario BETWEEN 1000 AND 12000, que retorna os salários dentro do intervalo, justamente o oposto do que a questão pede.
NÃO CAIA NESSA!
Lembre-se: BETWEEN é inclusivo e usa AND entre os limites; sua negação é NOT BETWEEN ... AND .... Nunca confunda com OR entre os limites. Em provas, a banca costuma trocar AND por OR ou inverter o intervalo (dentro vs. fora).