Pular para o conteúdo principal

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

Banco de DadosSQL
Código
qg162154
Banca
FUNDATEC
Órgão
CREMERS
Ano
2024
Nível
Médio
Cargo
Técnico de Informática
Considere a tabela TB_EMPRESA em um banco de dados relacional. Nessa tabela, há uma coluna chamada VIP, a qual armazena “Sim” (se a empresa é considerada um cliente especial) ou “Não” (se a empresa não é considerada um cliente especial). Qual das alternativas abaixo apresenta um comando da linguagem SQL que retornará a quantidade de clientes especiais na tabela TB_EMPRESA?
  1. ASELECT VIP('Sim') FROM TB_EMPRESA;
  2. BSELECT SUM(VIP) FROM TB_EMPRESA WHERE VIP IN ('Sim');
  3. CSELECT VIP FROM TB_EMPRESA GROUP BY 'Sim';
  4. DSELECT COUNT(VIP) FROM TB_EMPRESA WHERE VIP = 'Sim';
  5. ESELECT 'Sim' FROM TB_EMPRESA ORDEM BY VIP;
Revelar gabarito e comentário

GabaritoD — SELECT COUNT(VIP) FROM TB_EMPRESA WHERE VIP = 'Sim';

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 – 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.

Link permanente: /questoes/qg162154