Questão de Banco de Dados — Consultas e Comandos em SQL — VUNESP 2025
Banco de Dados›Consultas e Comandos em SQL
Código
vu222893
Banca
VUNESP
Órgão
UNESP
Ano
2025
Cargo
V - - Doc ( )
Considere o seguinte comando SQL feito em um banco de dados relacional: SELECT Produto FROM Estoque WHERE Produto LIKE ‘G%’ Esse comando apresenta como resultado a exibição do atributo Produto, da tabela Estoque, sendo que o Produto deve começar
Apela letra G e ter exatamente 2 caracteres.
Bpela letra G e terminar com o string %, tendo qualquer número de caracteres.
Cpela letra G e ter qualquer número de caracteres.
Dpela sequência G% e ter qualquer número de caracteres.
Ee terminar pela letra G, tendo qualquer número de caracteres.
Revelar gabarito e comentário▾
GabaritoC — pela letra G e ter qualquer número de caracteres.
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”.
Operador LIKE no SQL: curingas % e _
Gabarito: letra C. No comando SELECT Produto FROM Estoque WHERE Produto LIKE 'G%', o operador LIKE é usado para buscar padrões em strings, e o curinga % (porcentagem) substitui qualquer número de caracteres (inclusive zero). Assim, 'G%' significa: o valor deve começar com a letra G e pode ter qualquer quantidade de caracteres depois — exatamente o que afirma a alternativa C.
O operador LIKE é um dos operadores de comparação de padrões do SQL, utilizado na cláusula WHERE para filtrar registros cujo valor de uma coluna de texto corresponda a um determinado padrão. Ele trabalha em conjunto com dois curingas (wildcards) principais: o % (porcentagem), que representa zero ou mais caracteres, e o _ (sublinhado), que representa exatamente um caractere. Esses curingas podem ser combinados de diversas formas para criar padrões de busca flexíveis.
A lógica por trás do LIKE é permitir buscas parciais em campos de texto, algo que o operador de igualdade (=) não faz. Enquanto WHERE Produto = 'G' retornaria apenas o produto cujo nome é exatamente "G", o LIKE 'G%' retorna qualquer produto cujo nome comece com a letra G, como "Geladeira", "Garrafa", "G" ou "Grama sintética". O % no final indica que não importa o que vem depois da letra G — pode ser nada, um caractere ou uma sequência longa de caracteres.
Na prática, imagine uma tabela Estoque com os produtos: "Geladeira", "Fogão", "Grama", "G" e "Guarda-roupa". A consulta SELECT Produto FROM Estoque WHERE Produto LIKE 'G%' retornaria "Geladeira", "Grama", "G" e "Guarda-roupa", mas não "Fogão". O curinga % é o que permite essa flexibilidade, pois ele "absorve" qualquer quantidade de caracteres após a letra G.
A pegadinha desta questão está em confundir o significado do % com um caractere literal. Muitos candidatos interpretam 'G%' como "a sequência G%" ou como "G seguido de exatamente um caractere", quando na verdade o % é um curinga que representa qualquer número de caracteres. A banca explora exatamente essa confusão entre o símbolo % como parte do padrão literal e como curinga.
Guarde a distinção central: % = qualquer quantidade de caracteres (inclusive zero); _ = exatamente um caractere. É essa fronteira que separa as alternativas corretas das incorretas nesta questão.
LIKE (SQL)
1Curingas
% (zero ou mais caracteres)
_ (exatamente um caractere)
2Padrões
'G%' → começa com G
'%G' → termina com G
'%G%' → contém G
'G_' → G + 1 caractere
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que o produto deve começar com G e ter exatamente 2 caracteres. Isso corresponderia ao padrão 'G_' (G seguido de um único caractere qualquer), não 'G%'. O % não limita o número de caracteres; ele permite qualquer quantidade. A alternativa confunde o curinga % com o curinga _.
Alternativa B — ❌ Incorreta
Afirma que o produto deve começar com G e terminar com o string %, tendo qualquer número de caracteres. Aqui há um erro duplo: primeiro, o % no padrão 'G%' não é um caractere literal que o valor deve conter no final; ele é um curinga que representa qualquer sequência de caracteres. Segundo, se o objetivo fosse buscar valores que terminam com o caractere literal %, seria necessário escapar esse caractere (em alguns SGBDs, com ESCAPE), o que não é o caso. A alternativa interpreta o curinga como parte do texto a ser casado.
Alternativa C — ✅ Correta ⟵ GABARITO
Afirma que o produto deve começar com a letra G e ter qualquer número de caracteres. Isso é exatamente o que o padrão 'G%' significa: o % substitui zero ou mais caracteres, permitindo que o valor tenha qualquer comprimento, desde que comece com G. É a interpretação correta do operador LIKE com o curinga %.
Alternativa D — ❌ Incorreta
Afirma que o produto deve começar com a sequência G% e ter qualquer número de caracteres. Isso trataria o % como um caractere literal, o que não é o caso. O padrão 'G%' não busca a string literal "G%"; busca qualquer string que comece com G. A alternativa confunde o curinga com um caractere comum.
Alternativa E — ❌ Incorreta
Afirma que o produto deve terminar pela letra G, tendo qualquer número de caracteres. Isso corresponderia ao padrão '%G', onde o % vem antes da letra G. No comando dado, o % está depois da letra G ('G%'), o que indica que a letra G deve estar no início do valor, não no final. A alternativa inverte a posição do curinga.
NÃO CAIA NESSA!
A banca explora a confusão entre o % como curinga e o % como caractere literal. Lembre-se: % no LIKEnunca é um caractere literal — ele sempre representa zero ou mais caracteres. A posição do % determina se a âncora está no início ('G%'), no final ('%G') ou em ambos ('%G%').
NÃO CAIA NESSA!
Para fixar, compare os padrões: 'G%' (começa com G), '%G' (termina com G), '%G%' (contém G em qualquer posição), 'G_' (começa com G e tem exatamente 2 caracteres). Monte uma tabela mental com esses exemplos e pratique com questões — a banca adora trocar a posição do % e do _.