SQL – Comandos de Agregação e Filtragem
Gabarito: letra D. O comando SELECT COUNT(VIP) FROM TB_EMPRESA WHERE VIP = 'Sim'; conta quantas linhas possuem o valor 'Sim' na coluna VIP, utilizando a função de agregação COUNT que retorna o número de valores não nulos que atendem à condição especificada na cláusula WHERE.
Alternativa A — ❌ Incorreta
A sintaxe VIP('Sim') é inválida: VIP é o nome de uma coluna, não uma função. A SQL não permite esse formato. Seria necessário usar uma função de agregação como COUNT e uma condição no WHERE.
Alternativa B — ❌ Incorreta
Embora a condição WHERE VIP IN ('Sim') esteja correta, a função SUM é inadequada para dados textuais. SUM é utilizada para somar valores numéricos. O correto seria COUNT para contar registros.
Alternativa C — ❌ Incorreta
A cláusula GROUP BY espera uma expressão ou coluna, não um literal fixo ('Sim'). Além disso, sem uma função de agregação como COUNT, o comando não retorna uma contagem – retornaria um erro ou uma linha por valor distinto (inesperado).
Alternativa D — ✅ Correta ⟵ GABARITO
Utiliza COUNT(VIP) para contar quantas linhas possuem valor não nulo em VIP e filtra com WHERE VIP = 'Sim', retornando exatamente a quantidade de clientes especiais. A função COUNT é a função de agregação padrão para contagem de linhas.
Alternativa E — ❌ Incorreta
O comando SELECT 'Sim' retorna o literal 'Sim' para cada linha da tabela, sem filtrar ou contar. Além disso, ORDEM BY é um erro de digitação (o correto é ORDER BY), mas mesmo corrigido, não atende ao objetivo.
Gabarito: letra D.