1
resposta

Resolução Exercício - Identificando clientes com crédito baixo e empréstimos pendentes

WITH ClientesComEmprestimosPendentes AS (
    SELECT
        c.id_cliente AS id_cliente
    ,	c.nome AS nome_cliente
    ,	e.id_emprestimo AS id_emprestimo
    ,	e.valor AS valor_emprestimo
    ,	e.Status AS status_emprestimo
    ,	s.Pontuacao AS pontuacao
    FROM tabelaemprestimo AS e
    LEFT JOIN tabelaclientes AS c ON e.id_cliente = c.id_cliente
    LEFT JOIN tabelascorecredito AS s ON c.id_cliente = s.id_cliente
    WHERE 1=1
    AND (e.Status = 0 AND s.Pontuacao < 500)
)

SELECT
    id_cliente
,	nome_cliente
,	id_emprestimo
,	status_emprestimo
,	pontuacao
FROM ClientesComEmprestimosPendentes
;

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

1 resposta

Olá, Carlos! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou o CTE (WITH) para organizar consultas com SQL, utilizou muito bem o LEFT JOIN para combinar dados de diferentes tabelas e ainda compreendeu a importância da condição lógica AND para refinar filtros.

Um conceito interessante para o futuro é o de aplicar índices nas colunas usadas em filtros e junções, isso pode melhorar bastante a performance em bases grandes. Exemplo:

CREATE INDEX idx_status_pontuacao
ON tabelaemprestimo (Status);

CREATE INDEX idx_cliente_score
ON tabelascorecredito (id_cliente, Pontuacao);

Isso faz com que o banco de dados otimize a busca e reduza o tempo de execução da query.

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!