Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FCC 2018

Banco de DadosSQL
Código
fc044584
Banca
FCC
Órgão
DPE-AM
Ano
2018
Cargo
Assistente Técnico de Defensoria - Programador
Considere que exista uma tabela denominada TabProcessos que possui os seguintes campos: NroProcesso (tipo varchar), NroVara (tipo int), CPFAutor (tipo varchar). Para que seja feita uma consulta que resulte no total de processos em cada uma das varas, o comando SQL correto é
  1. ASELECT NroVara, COUNT (NroProcesso) FROM TabProcessos;
  2. BSELECT NroVara, COUNT (NroProcesso) FROM TabProcessos GROUP BY NroVara;
  3. CSELECT SUM (NroProcesso) FROM TabProcessos GROUP BY NroVara;
  4. DSELECT COUNT (NroProcesso) FROM TabProcessos HAVING NroVara;
  5. ESELECT NroVara, SUM (NroProcesso) FROM TabProcessos GROUP BY NroVara;
Revelar gabarito e comentário

GabaritoB — SELECT NroVara, COUNT (NroProcesso) FROM TabProcessos GROUP BY NroVara;

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 agrupamento

Gabarito: letra B. A consulta correta deve contar o número de processos em cada vara. Para isso, é necessário agrupar os resultados pela coluna NroVara usando GROUP BY e contar os registros de cada grupo com COUNT(NroProcesso). A alternativa B atende exatamente a esse requisito.

Alternativa A — ❌ Incorreta

Falta a cláusula GROUP BY. A consulta retornaria o total geral de processos, não o total por vara. O comando SELECT NroVara, COUNT(NroProcesso) sem GROUP BY é inválido na maioria dos SGBDs, pois mistura coluna agregada com coluna não agregada.

Alternativa B — ✅ Correta ⟵ GABARITO

Utiliza GROUP BY NroVara para agrupar os registros por vara e COUNT(NroProcesso) para contar quantos processos existem em cada grupo. A sintaxe está correta e atende ao objetivo.

Alternativa C — ❌ Incorreta

Usa SUM(NroProcesso) em vez de COUNT. Além disso, NroProcesso é do tipo varchar, o que tornaria a soma numericamente inválida (a menos que haja conversão implícita, mas a semântica de soma não é a desejada). O correto é contar, não somar.

Alternativa D — ❌ Incorreta

A cláusula HAVING é usada para filtrar grupos após o GROUP BY, mas aqui não há GROUP BY. Além disso, HAVING NroVara não é uma condição válida para filtrar grupos. A consulta está sintaticamente incorreta.

Alternativa E — ❌ Incorreta

Assim como a alternativa C, utiliza SUM(NroProcesso) em vez de COUNT. Mesmo que NroProcesso fosse numérico, somar os números dos processos não equivale a contar a quantidade deles.

NÃO CAIA NESSA!

A banca tenta confundir o candidato ao usar SUM no lugar de COUNT. Lembre-se: para contar linhas, usa-se COUNT; SUM é para somar valores numéricos de uma coluna.

Link permanente: /questoes/fc044584