Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FCC 2017

Banco de DadosSQL
Código
fc040044
Banca
FCC
Órgão
TRT - 24ª REGIÃO (MS)
Ano
2017
Nível
Médio
Cargo
Técnico Judiciário - Tecnologia da Informação
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
  1. Asalario<1000 AND salario>12000;
  2. Bsalario NOT BETWEEN 1000 OR 12000;
  3. C1000>salario>12000;
  4. Dsalario NOT BETWEEN 1000 AND 12000;
  5. 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).

Gabarito: letra D.

Link permanente: /questoes/fc040044