Pular para o conteúdo principal

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

Banco de DadosSQL
Código
qg686036
Banca
FUNDATEC
Órgão
IFC-SC
Ano
2026
Nível
Superior
Cargo
Professor EBTT - Informática: Programação de Sistemas
Analise a seguinte consulta SQL:SELECT departamento, COUNT(*)FROM funcionariosGROUP BY departamentoHAVING COUNT(*) > 5;Essa consulta retorna:
  1. AErro de sintaxe.
  2. BApenas o total de funcionários da tabela.
  3. CTodos os departamentos com exatamente 5 funcionários.
  4. DTodos os funcionários cujo departamento possui mais de 5 funcionários.
  5. EOs departamentos que possuem mais de 5 funcionários e a quantidade de funcionários em cada um deles.
Revelar gabarito e comentário

GabaritoE — Os departamentos que possuem mais de 5 funcionários e a quantidade de funcionários em cada um deles.

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

Cláusula GROUP BY com HAVING em SQL

Gabarito: letra E (Os departamentos que possuem mais de 5 funcionários e a quantidade de funcionários em cada um deles). A consulta agrupa os registros da tabela funcionarios por departamento e, com a cláusula HAVING, filtra apenas os grupos cuja contagem de linhas seja superior a 5. O resultado exibe o nome do departamento e o total de funcionários daquele departamento – exatamente o que a alternativa E descreve.

A banca testa o conhecimento da sintaxe e do significado da cláusula HAVING, que é usada para impor condições sobre grupos formados pelo GROUP BY. Diferentemente do WHERE (que filtra linhas antes do agrupamento), o HAVING age após o agrupamento, podendo usar funções de agregação como COUNT(*).

  1. 1FROM funcionarios
  2. 2GROUP BY departamento
  3. 3HAVING COUNT(*) > 5
  4. 4SELECT departamento, COUNT(*)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que a consulta gera erro de sintaxe. Não há erro: a sintaxe SELECT departamento, COUNT(*) FROM funcionarios GROUP BY departamento HAVING COUNT(*) > 5 é perfeitamente válida em SQL. A alternativa está errada.

Alternativa B — ❌ Incorreta

Diz que retorna "apenas o total de funcionários da tabela". A consulta retorna o total por departamento, não o total geral de toda a tabela. Além disso, o resultado inclui duas colunas (departamento e contagem), não apenas um número único. Errada.

Alternativa C — ❌ Incorreta

Afirma que retorna "todos os departamentos com exatamente 5 funcionários". A condição COUNT(*) > 5 exige que a contagem seja maior que 5, não igual a 5. Portanto, departamentos com exatamente 5 funcionários são excluídos. Errada.

Alternativa D — ❌ Incorreta

Diz que retorna "todos os funcionários cujo departamento possui mais de 5 funcionários". A consulta não retorna as linhas individuais dos funcionários; ela agrupa e retorna uma linha por departamento, com o nome do departamento e a contagem. O resultado não lista cada funcionário. Errada.

Alternativa E — ✅ Correta ⟵ GABARITO

Descreve exatamente o que a consulta faz: "os departamentos que possuem mais de 5 funcionários e a quantidade de funcionários em cada um deles". O GROUP BY departamento cria um grupo para cada departamento; COUNT(*) conta o número de linhas (funcionários) em cada grupo; HAVING COUNT(*) > 5 mantém apenas os grupos com contagem superior a 5; e o SELECT exibe o departamento e a contagem. Alternativa correta.

Gabarito: letra E

Link permanente: /questoes/qg686036