BE전문가 프로젝트
Join 본문
내부 조인
- SELECT m FROM Member m [INNER] JOIN m.team t
외부 조인
- SELECT m FROM Member m LEFT[OUTER] JOIN m.team t
세타 조인
- select count(m) from Member m, Team t where m.username = t.name
연관관계가 없는 것
조인 - ON 절
on절을 활용한 조인(JPA 2.1 부터 지원)
1. 조인 대상 필터링
2. 연관관계 없는 엔티티 외부조인(하이버네이트 5.1 부터)
1. 조인 대상 필터링
예) 회원과 팀을 조인하면서, 팀 이름이 A인 팀만 조인
- JPQL
SELECT m, t FROM Member m LEFT JOIN m.team t on t.name = 'A'
- SQL로 보내지는 SQL문
SELECT m.*, t.*
FROM Member m LEFT JOION Team t ON m.TEAM_ID = t.id and t.name = 'A'
2. 연관관계 없는 엔티티 외부조인(하이버네이트 5.1 부터)
예) 회원의 이름과 팀의 이름이 같은 대상 외부 조인
- JPQL
SELECT m, t FROM Member m LEFT JOIN Team t on m.username = t.name
- SQL로 보내지는 SQL문
SELECT m.*, t.* FROM Member m LEFT JOIN Team t on m.username = t.name
'JPA' 카테고리의 다른 글
JPQL 타입 표현 (0) | 2022.11.07 |
---|---|
서브쿼리 (0) | 2022.11.07 |
페이징 API (0) | 2022.11.06 |
프로젝션 (0) | 2022.11.06 |
JPQL(Java Persistence Query Language) (0) | 2022.11.06 |
Comments