Pular para o conteúdo principal

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

Banco de DadosSQL
Código
fc040542
Banca
FCC
Órgão
TST
Ano
2017
Nível
Médio
Cargo
Técnico Judiciário – Programação
Um Programador pretende executar uma instrução SQL que recupere todos os dados da tabela produto cujos preços (preco) sejam maiores ou iguais R$ 100,00 e menores ou iguais a R$ 1.000,00. A expressão para isso é SELECT * FROM produto
  1. AWHEN preco GREATER 99 AND LESS 1000;
  2. BWHERE preco BETWEEN 100 AND 1000;
  3. CLIKE preco BETWEEN 100 AND 1000;
  4. DWHERE preco IN (100, 1000);
  5. EJOIN preco INNER (100, 1000);
Revelar gabarito e comentário

GabaritoB — WHERE preco BETWEEN 100 AND 1000;

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

Gabarito: letra B. A cláusula WHERE com o operador BETWEEN recupera registros dentro de um intervalo fechado (inclui os extremos), exatamente o que o enunciado pede: preço entre R$ 100,00 e R$ 1.000,00.

A banca testa o conhecimento da sintaxe básica de consulta SQL. O operador BETWEEN é mais conciso que usar preco >= 100 AND preco <= 1000, e é a forma correta para especificar intervalos.

Alternativa A — ❌ Incorreta

A sintaxe WHEN preco GREATER 99 AND LESS 1000 não é válida em SQL. Não existem as palavras WHEN (usada em CASE) nem GREATER/LESS (deve-se usar >= e <= ou o operador BETWEEN). Além disso, os valores 99 e 1000 não correspondem ao intervalo solicitado (deveria ser 100 e 1000).

Alternativa B — ✅ Correta ⟵ GABARITO

WHERE preco BETWEEN 100 AND 1000 é a sintaxe padrão do SQL para selecionar registros cujo valor da coluna preco esteja entre 100 e 1000, inclusive. O operador BETWEEN é inclusivo e deve ser usado com AND.

Alternativa C — ❌ Incorreta

O operador LIKE é usado para correspondência de padrões em strings (ex.: LIKE '%a'), não para comparações numéricas de intervalo. A cláusula WHERE está faltando, e a sintaxe LIKE preco BETWEEN ... é inválida.

Alternativa D — ❌ Incorreta

WHERE preco IN (100, 1000) retorna apenas as linhas em que preco é exatamente 100 ou 1000, não o intervalo completo entre eles. O operador IN testa valores discretos, não faixas.

Alternativa E — ❌ Incorreta

JOIN é usado para combinar registros de duas ou mais tabelas com base em uma condição, não para filtrar linhas de uma única tabela. A sintaxe JOIN preco INNER (100, 1000) não é reconhecida e não atende ao objetivo.

PEGA ESSA DICA!

Lembre-se: BETWEEN é inclusivo e equivale a >= e <=. Para intervalos abertos (sem incluir os extremos), use > e < manualmente. Esse é um dos operadores mais cobrados em provas de SQL.

Gabarito: letra B.

Link permanente: /questoes/fc040542