Dot Programming/JPA
2022. 2. 25.
[JPA] 페치 조인(Fetch Join)의 일관성 - 대상에 별칭 사용하면 안되는 이유
JOIN의 ON과 WHERE절의 차이 SQL문에서 ON과 WHERE절의 차이점은 JOIN을 할때 필터링하는 시점이 다르다는 것이다. 확연한 예시를 위해 LEFT OUTER JOIN을 사용해서 쿼리를 날려보자. user테이블과 matches테이블은 N대1 매핑이 되어있다. 일반 LEFT JOIN 비교를 위해 그냥 아무런 별칭없이 LEFT JOIN을 하면 다음과 같이 조인이 된다. select * from user u left join matches m on (u.matches_id = m.id); ON JOIN을 하는 시점에 JOIN 대상을 필터링한다. select * from user u left join matches m on (u.matches_id = m.id) and u.name='Alice'; ..