Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — FCC 2026

Banco de DadosConsultas e Comandos em SQL
Código
fc142132
Banca
FCC
Órgão
ATI
Ano
2026
Cargo
AGTIC ( )
Um administrador de banco de dados está escrevendo uma consulta SQL em um banco de dados relacional aberto e em condições ideais, com objetivo de retornar o sobrenome de todos os funcionários cuja sequência de caracteres ana apareça em qualquer posição dentro do valor (exemplos: anastacia, Mariana, Joanaci). À cláusula WHERE correta, no padrão SQL ANSI, para realizar essa filtragem é: WHERE sobrenome
  1. ALIKE 'ana'
  2. BCONTAINS 'ana'
  3. CLIKE 'ana %'
  4. DCONTAINS '*ana*'
  5. ELIKE '%ana%'
Revelar gabarito e comentário

GabaritoE — LIKE '%ana%'

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 LIKE e curingas

Gabarito: letra E. Para retornar sobrenomes que contenham a sequência "ana" em qualquer posição, a cláusula correta é WHERE sobrenome LIKE '%ana%', pois o operador LIKE é o padrão ANSI para busca de padrões em strings, e os curingas % (qualquer sequência de caracteres) antes e depois de "ana" garantem que a correspondência ocorra em qualquer posição do valor.

O operador LIKE é a ferramenta do SQL para comparar uma coluna com um padrão textual. Ele é usado na cláusula WHERE e combina com dois curingas principais: o %, que representa qualquer sequência de caracteres (inclusive vazia), e o _, que representa exatamente um caractere qualquer. A posição desses curingas em relação ao texto literal define onde a correspondência deve ocorrer.

Para entender a lógica, imagine a tabela de funcionários com os sobrenomes: "Anastacia", "Mariana", "Joanaci", "Silva" e "Santos". A consulta WHERE sobrenome LIKE '%ana%' retornaria "Anastacia" (ana no início), "Mariana" (ana no meio) e "Joanaci" (ana no meio), pois o % antes de "ana" permite qualquer prefixo e o % depois permite qualquer sufixo. Já "Silva" e "Santos" não seriam retornados, pois não contêm a sequência "ana".

A pegadinha clássica desta questão é confundir o operador LIKE com CONTAINS, que não existe no padrão SQL ANSI (é específico de alguns SGBDs como SQL Server, mas não é padrão), e errar a posição dos curingas. O % é o curinga de múltiplos caracteres; o _ é o de um único caractere. Colocar % apenas no final ('ana%') buscaria apenas valores que começam com "ana", e sem curingas ('ana') buscaria apenas o valor exato "ana".

Guarde a regra de ouro: para buscar uma substring em qualquer posição, o padrão deve ser '%texto%'. É exatamente essa combinação de curingas que separa a alternativa correta das demais.

  1. 1LIKE '%ana%'
  2. 2% antes = qualquer prefixo
  3. 3% depois = qualquer sufixo
  4. 4Encontra em qualquer posição
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

LIKE 'ana' busca apenas o valor exatamente igual a "ana", sem curingas. Não atende ao requisito de encontrar a sequência em qualquer posição, pois "Mariana" e "Joanaci" não seriam retornados.

Alternativa B — ❌ Incorreta

CONTAINS não é um operador do padrão SQL ANSI. Ele existe em alguns SGBDs específicos (como SQL Server) para busca de texto completo, mas não é a sintaxe padrão para busca de padrões em strings.

Alternativa C — ❌ Incorreta

LIKE 'ana %' busca valores que começam com "ana" seguido de um espaço e qualquer coisa depois. Isso não atende ao requisito, pois a sequência "ana" deve aparecer em qualquer posição, não apenas no início, e o espaço após "ana" é um caractere literal que não existe em todos os casos.

Alternativa D — ❌ Incorreta

CONTAINS '*ana*' usa um operador inexistente no padrão SQL ANSI e um curinga * que não é reconhecido pelo SQL (o curinga correto é %). Além disso, CONTAINS não é a sintaxe padrão para busca de padrões.

Alternativa E — ✅ Correta ⟵ GABARITO

LIKE '%ana%' é a sintaxe correta. O % antes de "ana" permite qualquer sequência de caracteres antes, e o % depois permite qualquer sequência depois, garantindo que a busca encontre "ana" em qualquer posição do sobrenome. Isso atende exatamente ao requisito do enunciado.

PEGA ESSA DICA!

Para fixar, lembre-se da posição dos curingas: 'ana%' = começa com "ana"; '%ana' = termina com "ana"; '%ana%' = contém "ana" em qualquer posição. O _ substitui exatamente um caractere. Essa é a base para resolver qualquer questão de busca de padrões com LIKE.

Gabarito: letra E

Link permanente: /questoes/fc142132