해결된 질문
작성
·
179
0
답변 1
0
안녕하세요!
보통 테이블 조인 시 ON 절에 조인 조건을 명시하곤 하는데요. Lateral을 사용해 테이블을 조인하는 경우 대부분 서브 쿼리 절 내에서 선행 테이블 컬럼을 참조하는 형태로 사용하므로 ON 절이 필요하진 않습니다.
그렇지만 MySQL에서 LEFT JOIN 등과 같은 경우에는 문법 상 ON 절을 반드시 명시해야 되기때문에 (명시하지 않으면 쿼리 에러 발생) ON TRUE
라는 조건을 넣어준거라고 보시면 됩니다. 항상 조인을 수행하겠다는 의미입니다.
그리고 INNER JOIN의 경우에는 ON 절이 선택사항이다보니 ON TRUE
를 명시하지 않아도 쿼리 실행이 가능합니다. 그래서 ON TRUE
가 없는 경우는 문법 상 쿼리 실행하는데 문제가 없고, 특별히 해당 부분이 필요하지 않기때문에 명시돼있지 않은거라고 봐주시면 될 것 같아요!
감사합니다.