1
resposta

Resolução Exercício - Identificando clientes com todos os empréstimos quitados

SELECT
    c.Nome AS nome
,	c.Email AS email
,	e.valor AS valor
FROM tabelaclientes AS c
LEFT JOIN tabelaemprestimo AS e ON c.id_cliente = e.id_cliente
WHERE EXISTS (
    SELECT
        *
    FROM tabelapagamentos AS p
    WHERE 1=1
    AND p.id_emprestimo = e.id_emprestimo
    AND p.Status = 'Pago'
)
;

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

1 resposta

Olá, Carlos.

Meus parabéns por concluir esse exercício complexo. É fantástico ver como você utilizou a cláusula EXISTS vinculada a uma subconsulta correlacionada, demonstrando um domínio bom sobre como validar condições de existência entre diferentes entidades de um banco de dados financeiro.

Sua resolução mostra que você compreendeu perfeitamente como filtrar registros com base em ocorrências em tabelas de relacionamento. Como Tech Lead e Engenheiro de Dados, você aplicou uma lógica muito limpa para identificar quais empréstimos possuem pelo menos um registro de pagamento com status 'Pago'. O uso do LEFT JOIN seguido do filtro de existência garante que os dados do cliente e o valor do empréstimo sejam retornados apenas quando a condição de quitação for atendida na tabela de pagamentos.

Conseguiu perceber como a subconsulta correlacionada transforma o EXISTS em um filtro poderoso que atua quase como um "porteiro" para os dados da consulta principal?

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