Pular para o conteúdo principal

Questão de Banco de Dados — SQL — VUNESP 2024

Banco de DadosSQL
Código
vu081585
Banca
VUNESP
Órgão
DESENVOLVE-SP
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas
Seja a seguinte tabela de um banco de dados relacional: Material (Cod, Nome, Valor), sendo Cod a sua chave primária.A expressão SQL para obter o número de registros dessa tabela cujo atributo Nome comece com a letra B é:
  1. ASELECT Count (Cod)FROM MaterialWHERE Nome = ‘B%’;
  2. BSELECT Count (Cod)FROM MaterialWHERE Nome LIKE ‘B%’;
  3. CSELECT Sum (Cod)FROM MaterialWHERE Nome INS ‘B#’;
  4. DSELECT Total (Cod)FROM MaterialWHERE Nome LIKE ‘%B’;
  5. ESELECT Reg (Cod)FROM MaterialWHERE Nome Between ‘B%’ AND ‘C’;
Revelar gabarito e comentário

GabaritoB — SELECT Count (Cod) FROM Material WHERE Nome LIKE ‘B%’;

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: Funções de Agregação e Operador LIKE

Gabarito: letra B. A consulta deve contar o número de registros cujo atributo Nome comece com a letra B, o que exige a função de agregação COUNT combinada com o operador LIKE e o padrão 'B%'. A alternativa B é a única que atende corretamente a esses requisitos.

A questão testa o conhecimento de duas funcionalidades básicas do SQL: (1) a função de agregação COUNT, que retorna o número de linhas que satisfazem a condição; e (2) o operador LIKE, usado para comparação de padrões com os caracteres curinga % (qualquer sequência) e _ (um caractere).


Alternativa A — ❌ Incorreta

Usa o operador = em vez de LIKE. O operador = busca correspondência exata, não permitindo o curinga %. Logo, a condição Nome = 'B%' tentaria encontrar um nome literalmente igual a 'B%', e não nomes começados com B.

Alternativa B — ✅ Correta ⟵ GABARITO

Utiliza COUNT(Cod) para contar registros e WHERE Nome LIKE 'B%' para filtrar aqueles cujo nome começa com a letra B. Essa é a sintaxe padrão do SQL.

Sintaxe SQL padrão:

SELECT COUNT(coluna) FROM tabela WHERE coluna LIKE 'padrão';

O % no final indica qualquer sequência de caracteres após o B.

Alternativa C — ❌ Incorreta

SUM(Cod) calcula a soma dos valores de Cod, não o número de registros. Além disso, INS não é um operador SQL válido; o correto seria LIKE. O padrão 'B#' usa # indevidamente (não é curinga no SQL).

Alternativa D — ❌ Incorreta

Total(Cod) não é uma função de agregação padrão do SQL; o correto é COUNT. A condição LIKE '%B' busca nomes que terminam com B, e não que começam.

Alternativa E — ❌ Incorreta

Reg(Cod) não é uma função SQL válida. A cláusula BETWEEN não aceita curingas; ela compara valores em um intervalo fechado, e a expressão 'B%' AND 'C' é inválida.

PEGA ESSA DICA!

Para memorizar, lembre que COUNT conta linhas, SUM soma valores, AVG calcula média. O padrão 'B%' significa: começa com B, seguido de qualquer coisa. O operador LIKE é sempre usado com curingas; para igualdade exata usa-se =.

Gabarito: letra B.

Link permanente: /questoes/vu081585