Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FGV 2025

Banco de DadosSQL
Código
fg116603
Banca
FGV
Órgão
PC-MG
Ano
2025
Nível
Superior
Cargo
Perito Criminal - Área II
A linguagem SQL (Structured Query Language) é amplamente utilizada para gerenciar e manipular bancos de dados relacionais. Assinale a opção que representa corretamente uma consulta SQL para retornar todos os dados da tabela clientes em que a coluna cidade é igual a "São Paulo".
  1. ASELECT * FROM clientes WHERE cidade LIKE 'São Paulo';
  2. BSELECT * FROM clientes WHERE cidade = 'São Paulo';
  3. CSELECT * FROM clientes WHERE cidade IN 'São Paulo';
  4. DSELECT * FROM clientes WHERE cidade NOT IN 'São Paulo';
  5. ESELECT cidade, * FROM clientes WHERE cidade = 'São Paulo';
Revelar gabarito e comentário

GabaritoB — SELECT * FROM clientes WHERE cidade = 'São Paulo';

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”.

Consulta SQL com cláusula WHERE

Gabarito: letra B. O operador = é o correto para comparação de igualdade exata em SQL. As demais alternativas usam operadores inadequados (LIKE, IN, NOT IN) ou sintaxe inválida (mistura de coluna com *).

Alternativa A — ❌ Incorreta

Utiliza o operador LIKE, que se destina a padrões com curingas (% e _). Embora em alguns bancos LIKE sem curingas funcione como igualdade, a forma padrão e semanticamente correta para valores exatos é o operador =. A banca explora a confusão entre LIKE (busca por padrão) e = (igualdade exata).

Alternativa B — ✅ Correta ⟵ GABARITO

SELECT * FROM clientes WHERE cidade = 'São Paulo'; é a sintaxe SQL padrão: seleciona todas as colunas (*) da tabela clientes onde o valor da coluna cidade é exatamente 'São Paulo'. O operador = cumpre exatamente essa função.

Alternativa C — ❌ Incorreta

WHERE cidade IN 'São Paulo' possui dois problemas: (1) o operador IN exige uma lista de valores entre parênteses, como ('São Paulo', 'Rio'); (2) mesmo com parênteses, IN é usado para múltiplos valores; para um único valor, = é mais adequado e legível. A sintaxe apresentada está incorreta.

Alternativa D — ❌ Incorreta

WHERE cidade NOT IN 'São Paulo' retorna todos os registros cuja cidade não seja 'São Paulo', o oposto do que foi solicitado. Além disso, o mesmo erro de sintaxe do IN sem parênteses se aplica.

Alternativa E — ❌ Incorreta

SELECT cidade, * FROM clientes é uma sintaxe inválida no SQL padrão. Não é permitido misturar uma coluna específica (cidade) com o curinga * na lista de seleção. Causa erro de execução.

PEGA ESSA DICA!

Memorize os operadores de comparação do SQL: = para igualdade exata; LIKE para padrões (com % e _); IN para lista de valores; BETWEEN para intervalos. Em provas, a banca FGV costuma cobrar a diferença entre = e LIKE exatamente como nesta questão.

Link permanente: /questoes/fg116603