JPQL 이면 left join, native 쿼리면 left outer join
게시글 목록 보기에서 left join(left outer join)이면 일단 Board의 모든 내용을 뿌린다. 그러면 모든 Board를 가져오고 Board에 빈 값이 있는 경우 전부 null 처리를 한다. 따라서 Board 내부에 Love가 있고 연관관계가 없으면 빈 하트가 되는 원리
결론 left join(left outer join)은 전부 가져온다
inner join은 null이 아닌 것들만 찾아온다.
입금내역 조회 또는 출금 내역을 조회할 때는 inner join을 사용, 왜냐하면 컬럼만 가져오니까
1번째 inner join -> withdrawAccountId 에서 1, 3, 4, 5 가져옴 (inner join은 null 가져오지 않음)
2번쨰 inner join -> depositAccountId 에서 1, 3, 4, 5 중에서 3, 4, 5만 가져옴 (null 제외 + 1번째 inner join 할떄 2번 row는 없어져 버림)
따라서 원래는 id가 2번 5번을 가져와야 하지만 inner join을 사용하면 2번은 1번째 inner join 에서 사라지고 5번만 남게 된다.
null 포함 전부 찾아온다. 그리고 필요한 것들만 가져온다.