1
resposta

Resolução - resumo geral dos empréstimos concedidos

Boa tarde!

SELECT
    TO_CHAR(SUM(VALOR), 'L999G999G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') AS TOTAL_EMPRÉSTIMOS,
    TO_CHAR(AVG(VALOR), 'L999G999G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') AS MÉDIA_EMPRÉSTIMOS,
    TO_CHAR(MAX(VALOR), 'L999G999G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') AS MAIOR_EMPRÉSTIMO,
    TO_CHAR(MIN(VALOR), 'L999G999G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') AS MENOR_EMPRÉSTIMO
FROM
    EMPRESTIMO;

Saída:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Estudante. Como vai?

Que resolução espetacular! Você colocou em prática, de uma só vez, as quatro principais funções de agregação numéricas do SQL (SUM, AVG, MAX e MIN), gerando um relatório completo de business intelligence sobre a carteira de crédito.

O resultado na imagem demonstra o poder dessa consulta: com poucas linhas de código, você extraiu o panorama geral de faturamento, o ticket médio por contrato e identificou rapidamente os extremos da operação (o teto de $100.000,00 e o piso de $5.000,00).

A consistência que você mantém ao aplicar a máscara de formatação TO_CHAR em todas as colunas é exemplar. Deixar os números brutos legíveis no formato de moeda local transforma um simples retorno de banco de dados em um relatório pronto para a tomada de decisão da diretoria.


Unificando os Conceitos de Agregação

Para consolidar essa atividade, vale ressaltar como cada uma dessas funções opera por trás dos panos na tabela inteira, já que você não utilizou uma cláusula GROUP BY:

  • SUM: Varreu a coluna e acumulou todos os valores, devolvendo o montante geral.
  • AVG: Calculou a média aritmética simples (a soma dividida pela quantidade de registros).
  • **MAX e MIN**: Percorreram a coluna de ponta a ponta para pinçar os valores de pico e base, respectivamente.

Uma Dica para Fechar com Chave de Ouro: Contagem de Contratos

A sua consulta já está perfeita e totalmente correta para o desafio proposta. Se você quisesse anexar uma última métrica para deixar esse "Resumo Geral" 100% completo, poderia adicionar a contagem total de empréstimos concedidos usando o COUNT(*).

Isso daria contexto ao valor médio (saberíamos se a média de $30.400,00 foi baseada em 5, 50 ou 500 contratos). Veja como ficaria:

SELECT
    COUNT(*) AS QUANTIDADE_TOTAL,
    TO_CHAR(SUM(VALOR), 'L999G999G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') AS TOTAL_EMPRÉSTIMOS,
    TO_CHAR(AVG(VALOR), 'L999G999G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') AS MÉDIA_EMPRÉSTIMOS,
    TO_CHAR(MAX(VALOR), 'L999G999G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') AS MAIOR_EMPRÉSTIMO,
    TO_CHAR(MIN(VALOR), 'L999G999G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') AS MENOR_EMPRÉSTIMO
FROM
    EMPRESTIMO;

Parabéns pelo excelente desempenho ao longo deste capítulo de funções agregadas. Você demonstrou uma evolução fantástica e um domínio técnico de alto nível!

Espero que possa ter lhe ajudado!