내부 조인 (inner join) ➡️ where 사용
내부 조인일 때는 익숙한 'where'을 사용 ('on'을 사용해도 상관없음. 결과는 동일)
List<Tuple> result = queryFactory
.select(member, team)
.from(member)
.join(member.team, team)
.where(team.name.eq("teamA"))
//.on(team.name.eq("teamA")) 요것도 상관은 없다.. 다만, 익숙한 where 사용을 추천
.fetch();
외부 조인 (left join) ➡️ on 사용
외부 조인할 때, 'where' 문 사용 시, 왼쪽 데이터들이 누락된다.
List<Tuple> result = queryFactory
.select(member, team)
.from(member)
.leftJoin(member.team, team)
.on(team.name.eq("teamA"))
.fetch();
출처
https://www.inflearn.com/course/Querydsl-%EC%8B%A4%EC%A0%84 (김영한님 querydsl 강의)
'스프링' 카테고리의 다른 글
스프링 테스트 - TDD, JUnit (0) | 2024.02.21 |
---|---|
[QueryDSL] QueryDSL 설정법(feat.graddle, jpa) (0) | 2024.02.20 |
[Query Dsl] 연관관계가 없는 엔티티들 조인하기 (0) | 2024.02.20 |
[Query Dsl][JPQL] 서브쿼리 주의사항 (from문에서는 불가능) (0) | 2024.02.20 |
[WAS] 서블렛이란? (0) | 2023.06.02 |