Considere uma tabela de processos com as colunas id, setor, ...

Próximas questões
Com base no mesmo assunto
Q4233133 Banco de Dados
Considere uma tabela de processos com as colunas id, setor, situação e valor. Deseja-se obter o total de processos por setor, apresentando uma linha para cada setor. Nesse contexto, assinale a alternativa que apresenta a consulta sintaticamente mais adequada.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: E

Fundamento decisivo: O enunciado exige uma linha para cada setor, o que demanda agrupar os registros pela coluna setor.

Tema central: Agregação com GROUP BY
Análise das alternativas
A
Errada
Está incorreta porque seleciona setor e COUNT(*) sem agrupar por setor. ORDER BY setor apenas ordena a saída; não produz a agregação necessária para retornar uma linha por setor.
B
Errada
Está incorreta porque não seleciona o setor nem agrupa os resultados por setor. Além disso, WHERE setor é inadequado, pois WHERE exige uma condição booleana e essa forma não atende ao objetivo de contagem por setor.
C
Errada
Está incorreta porque usa SUM(*) no lugar de COUNT(*), embora o problema seja de contagem de linhas. Também falta GROUP BY setor, indispensável para gerar uma linha por setor.
D
Errada
Está incorreta porque JOIN COUNT(*) não corresponde a uma construção SQL válida para esse objetivo. COUNT(*) não é tabela nem cláusula de junção, e a alternativa também não traz GROUP BY.
E
Certa
A alternativa E está correta porque usa COUNT(*) e GROUP BY setor, combinação necessária para contar os processos por setor e retornar uma linha para cada setor.
Pegadinha da questão
A confusão real era tratar ordenação como se fosse agrupamento e supor que COUNT(*) sozinho já produziria uma linha por setor.
Dica para questões semelhantes
  • Se o pedido for contar registros por categoria, selecione a categoria, use COUNT(*) e agrupe por ela com GROUP BY.
  • ORDER BY organiza o resultado; não substitui GROUP BY quando a consulta precisa consolidar linhas por grupo.
  • Para contar linhas, use COUNT(*); não troque por SUM(*).
  • Antes de marcar a alternativa, verifique se a sintaxe corresponde a uma consulta SQL válida e ao resultado pedido.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

SELECT setor: Mostra o nome do setor no resultado.

COUNT(*): Conta quantas linhas existem em cada grupo.

FROM processos: Indica a tabela que armazena os dados.

GROUP BY setor: Junta os dados que têm o mesmo valor no campo setor

A saída dessa consulta será uma tabela com duas colunas: uma mostrando os nomes dos setores e outra mostrando o total de processos de cada um:

setor | COUNT(*)
financeiro 145
Recursos Humanos 89
juridico 12

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo