Considere que o Tribunal Regional do Trabalho possua em se...
Considere que, após uma consulta, foi produzido o seguinte resultado: Nro_Proc
1234567-80.2010.5.04.0000
7777777-70.2011.5.04.0000
SUM(Custas_Proc)
1072500.00
3200000.00
O comando SQL utilizado para obter o resultado acima é:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa Correta: E
Para resolver esta questão é necessário compreender o funcionamento do comando SELECT no SQL, o uso de funções de agregação como SUM(), o emprego de GROUP BY para agrupar resultados por um ou mais campos e a cláusula HAVING para aplicar condições aos grupos criados por GROUP BY, diferentemente da cláusula WHERE que se aplica a linhas individuais.
A alternativa E é correta porque utiliza adequadamente o comando SELECT para selecionar duas colunas: Nro_Proc e a soma das custas processuais SUM(Custas_Proc). Utiliza o GROUP BY para agrupar os resultados pelo número do processo, o que é uma exigência quando se usa funções de agregação para retornar valores não-agregados. Além disso, emprega a cláusula HAVING após o GROUP BY para filtrar apenas os grupos que possuem uma soma de custas processuais maior que 1.000.000,00, o que é coerente com os resultados apresentados na questão.
A sintaxe final que corresponde à lógica correta é a seguinte:
SELECT Nro_Proc, SUM(Custas_Proc)
FROM Tab_Processos
GROUP BY Nro_Proc
HAVING SUM(Custas_Proc) > 1000000.00;
Essa consulta SQL retorna exatamente o resultado apresentado na questão, já que considera apenas os processos cujas custas acumuladas superam o valor estipulado, cumprindo assim os requisitos do problema proposto.
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
Quando é utilizada uma função agregada (SUM) e no comando SELECT houver a presença de outra coluna que não utilize função agregada, então deve ser utilizado o GROUP BY para somar todas as ocorrências de cada tipo da coluna. Havendo o GROUP BY, caso seja necessária uma filtragem do conjunto de dados, então a cláusula HAVING deve ser utilizada.
Letra: E
Somente esta alternativa tem a saída esperada. Não precisa nem analisar o restante >>> SELECT Nro_Proc, SUM(Custas_Proc)
Daniela, 1.072500.00 é a soma dos custos do processo 1234567-80.2010.5.04.0000 .
O resultado exibe SUM(Custas_Proc). Logo 172.500,00 + 900000,00 = 1.072500.00
Exato Alessio, realmente uma pegadinha com o valor 1072500.00 que é a soma do processo 1234567-80.2010.5.04.0000;
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo