Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

sobre o left fecth join

ainda não entendi bem como o left join funciona na prática

exemplo se temos um classe Movimentação e outra classe Conta temo então um INNER JOIN pelos ID de cada classe,

SELECT * FROM movimentacao M

INNER JOIN Conta C on C.idConta = M.idConta

até aqui e tranquilo, porém minha confusão começa ao usarmos o Left join ou left Fech join como no jpql, realmente não entendi como funciona .

2 respostas
solução!

O left join traz todos os resultados da tabela à esquerda que não necessariamente precisam ter registros na tabela à direita. Por exemplo, se considerar um cenário em que existem as contas 1 e 2, sendo que apenas a conta 1 possui 2 movimentações, e executar o SQL a seguir:

select conta.id_conta, movimentacao.id_conta
   from conta left join 
        movimentacao 
     on conta.idconta = movimentacao.idconta

Irá produzir o seguinte resultado:

conta.id_conta|movimentacao.id_conta
    1         |             1
    1         |             2
    2         |             NULL

Se utilizar o inner join para o caso acima, então somente as duas primeiras linhas serão retornadas.

obrigado era isso mesmo, voltei um pouco e estudei mais sobre left e right joins do sql isso me ajudou bastante.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software