Questão de Banco de Dados — Modelo relacional — FGV 2024
Banco de Dados›Modelo relacional
Código
fg078335
Banca
FGV
Órgão
Câmara de Fortaleza - CE
Ano
2024
Nível
Superior
Cargo
Analista de Informática
Em um banco de dados relacional, considere a tabela a seguir, que possui informações sobre diferentes tipos de produtos, incluindo eletrônicos, roupas, eletrodomésticos, entre outros:Produto (ID, Nome, Tipo, Preço, Fabricante)Assinale a alternativa que corresponde à consulta que retornará o nome e o preço dos produtos que possuem a palavra “Smart” em seu tipo, somente do fabricante “Banana Inc.” e preço abaixo de R$2000,00.
ESELECT Tipo, PreçoFROM ProdutoWHERE Tipo LIKE '%Smart%'AND Fabricante = 'Banana Inc.'AND Preço > 2000;
Revelar gabarito e comentário▾
GabaritoC — SELECT Nome, Preço
FROM Produto
WHERE Tipo LIKE '%Smart%'
AND Fabricante = 'Banana Inc.'
AND Preço < 2000;
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”.
Banco de dados relacional – consulta SQL
Gabarito: letra C. A consulta correta deve usar o operador LIKE com o curinga % para buscar a palavra "Smart" em qualquer posição do campo Tipo, além de filtrar pelo fabricante e preço. A alternativa C é a única que atende exatamente a esses requisitos.
A banca testa o domínio de filtros com LIKE para correspondência parcial de strings, um padrão clássico de SQL. Vejamos cada alternativa:
Alternativa
SELECT
Filtro Tipo
Filtro Fabricante
Filtro Preço
Correta?
A
Nome
Nome = 'Smart' (errado)
'Banana Inc.'
< 2000
❌
B
Nome, Preço
Tipo = 'Smart' (exato, errado)
'Banana Inc.'
< 2000
❌
C
Nome, Preço
Tipo LIKE '%Smart%' (correto)
'Banana Inc.'
< 2000
✅
D
Fabricante, Preço
Tipo = 'Smart' (exato, errado)
'Banana Inc.'
< 2000
❌
E
Tipo, Preço
Tipo LIKE '%Smart%' (correto)
'Banana Inc.'
> 2000 (errado)
❌
Alternativa A — ❌ Incorreta
A cláusula SELECT retorna apenas o campo Nome, omitindo Preço. Além disso, a condição Nome = 'Smart' busca o nome exato do produto, e não o tipo que contém a palavra "Smart". O correto seria Tipo LIKE '%Smart%'.
Alternativa B — ❌ Incorreta
Embora SELECT Nome, Preço e os filtros de fabricante e preço estejam corretos, a condição Tipo = 'Smart' exige que o tipo seja exatamente igual a "Smart", mas o enunciado pede produtos que possuem a palavra "Smart" em seu tipo (ex.: "Smartphone", "Smart TV"). Para isso, usa-se LIKE '%Smart%'.
Alternativa C — ✅ Correta ⟵ GABARITO
A consulta seleciona Nome e Preço, aplica Tipo LIKE '%Smart%' para localizar a substring em qualquer posição, Fabricante = 'Banana Inc.' e Preço < 2000, atendendo integralmente ao enunciado.
Alternativa D — ❌ Incorreta
Retorna Fabricante e Preço em vez de Nome e Preço. Também usa Tipo = 'Smart' em vez de LIKE, o que não abrange variações do termo.
Alternativa E — ❌ Incorreta
Seleciona Tipo e Preço, mas o enunciado pede Nome e Preço. Além disso, a condição de preço é > 2000 (maior que), enquanto o requisito é Preço < 2000 (menor que). O filtro de tipo com LIKE está correto, mas os demais erros tornam a consulta inválida.
NÃO CAIA NESSA!
A diferença entre = e LIKE com % é o ponto mais explorado. O operador = exige correspondência exata; LIKE com curinga permite busca por substring. Nas alternativas B e D, a banca trocou o operador para induzir ao erro de quem se lembra apenas da condição exata. Fique atento: sempre que o enunciado disser "contém", "possui", "inicia com", use LIKE com %.