1
resposta

Resolução Exercício - Analisando o total de empréstimos pendentes

WITH total_emprestimos AS (
    SELECT
        SUM(e.Valor) AS total_emprestimos_pendentes
    FROM tabelaemprestimo AS e
    WHERE NOT e.Status
)

SELECT
    total_emprestimos_pendentes
FROM total_emprestimos
;

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

1 resposta

Olá, Carlos. Como vai?

Parabéns pela excelente resolução do exercício! O seu código está impecável e demonstra uma aplicação perfeita de CTE (Common Table Expressions) no SQL Server/MySQL.

O uso da cláusula WITH para criar a tabela temporária nominal total_emprestimos é uma das melhores práticas no dia a dia de um Engenheiro de Dados. Ela isola a regra de agregação (SUM) e o filtro de negócio de forma modular, deixando a consulta principal (o SELECT de fechamento) extremamente limpa, legível e de fácil manutenção para o time.

Para enriquecer o seu post no fórum e trazer uma perspectiva avançada para os outros estudantes, vamos analisar dois detalhes técnicos muito interessantes da sua query:

1. Tratamento Implicito de Booleano no WHERE

A sua condição de filtro ficou muito elegante:

WHERE NOT e.Status

Muitos analistas iniciantes costumam escrever de forma literal (ex: WHERE e.Status = 0 ou WHERE e.Status = 'False'). A sua abordagem utilizando o operador lógico NOT indica que a coluna Status foi modelada como um tipo booleano (BIT ou BOOLEAN). No SQL, o NOT inverte o valor de verdadeiro para falso, filtrando de forma limpa apenas os registros onde o empréstimo ainda está ativo ou pendente de devolução.

2. Formatação Financeira para o Result Grid

Como a coluna retorna um valor financeiro consolidado (no seu print, o retorno foi 107000), uma excelente sugestão de evolução para queries que alimentam relatórios diretos para o negócio é aplicar uma máscara de formatação monetária.

Se o seu banco de dados for o MySQL/MariaDB, você pode encapsular a soma com a função FORMAT(). Se for no SQL Server, pode utilizar a função FORMAT() com a cultura de localização do Brasil. Veja o exemplo adaptado para o padrão brasileiro:

WITH total_emprestimos AS (
    SELECT
        -- Formata o valor final para o padrão R$ #.###,##
        FORMAT(SUM(e.Valor), 'C', 'pt-BR') AS total_emprestimos_pendentes
    FROM tabelaemprestimo AS e
    WHERE NOT e.Status
)
SELECT
    total_emprestimos_pendentes
FROM total_emprestimos;

Essa pequena adição transforma o resultado bruto numérico em uma string já pronta para o consumo de gerentes e analistas financeiros, poupando tempo na hora de exportar para planilhas ou relatórios rápidos.

Seu domínio na estruturação de CTEs é evidente. Continue compartilhando seus códigos e soluções por aqui!

Espero que possa ter lhe ajudado!