Questão de Banco de Dados — SQL — FGV 2023
- Código
- fg063724
- Banca
- FGV
- Órgão
- DPE-RS
- Ano
- 2023
- Nível
- Médio
- Cargo
- Técnico - Apoio Especializado - Programador
- A'eli%'
- B'%eli%'
- C'eli_'
- D'_eli'
- E'_eli%'
GabaritoA — 'eli%'
Gabarito: alternativa A. O operador LIKE com o padrão 'eli%' retorna todos os registros onde o campo Autor começa com "eli", pois o curinga % corresponde a zero ou mais caracteres. As demais alternativas utilizam os curingas de forma incorreta para a condição solicitada.
A banca testa o conhecimento dos curingas do LIKE no SQL: % (qualquer sequência) e _ (um caractere). O enunciado pede nomes que comecem com "eli". Portanto, o padrão deve ser fixo no início: 'eli%'.
Alternativa | Padrão LIKE | Comportamento | Correta? |
|---|---|---|---|
A |
| Nomes que começam com "eli" (ex.: Elizabeth, Elisabeth) | ✅ |
B |
| Nomes que contêm "eli" em qualquer posição (ex.: Michelle) | ❌ |
C |
| Nomes com exatamente 4 letras começando com "eli" (ex.: Elis) | ❌ |
D |
| Nomes que terminam com "eli" (ex.: Keli) | ❌ |
E |
| Nomes com "eli" a partir do 2º caractere (ex.: Kélita) | ❌ |
'eli%' → "eli" seguido de qualquer sequência (inclusive vazia). Corresponde exatamente a nomes que começam com "eli", como "Elizabeth", "Elisabeth", "Elizabete" etc.
'%eli%' → "eli" em qualquer posição. Isso recuperaria nomes que contêm "eli" no meio ou no final, como "Michelle" ou "Eli" no final, o que foge ao solicitado (apenas nomes que começam com "eli").
'eli_' → "eli" seguido de exatamente um caractere. Isso só recuperaria nomes com 4 letras (ex.: "Elis"? mas "Elis" tem 4? Na verdade "eli" + 1 caractere = 4 letras). Não atende porque nomes como "Elizabeth" possuem mais caracteres.
'_eli' → um caractere qualquer seguido de "eli". Isso corresponderia a nomes que terminam com "eli", não que começam.
'_eli%' → um caractere qualquer, depois "eli", depois qualquer sequência. Isso capturaria nomes que contêm "eli" a partir do segundo caractere (ex.: "Kélita"? mas "Keli"?). Não atende ao requisito de começar com "eli".
A banca explora a confusão entre os curingas % e _. O % representa qualquer quantidade de caracteres (inclusive zero); o _ representa exatamente um caractere. Para nomes que começam com um prefixo, o padrão correto é fixar o prefixo e usar % no final. Cuidado para não confundir com '%eli%', que busca o termo em qualquer posição — esse é um erro clássico.
Gabarito: alternativa A.
Link permanente: /questoes/fg063724