• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

RATERAL 사용할 때 마지막에 ON TRUE 가 있는 것도 있고 없는 것도 있는데 차이가 어떤 것인가요?

24.06.18 07:04 작성 조회수 86

0

RATERAL 사용할 때 마지막에 ON TRUE 가 있는 것도 있고 없는 것도 있는데 차이가 어떤 것인가요?

답변 1

답변을 작성해보세요.

0

안녕하세요!

보통 테이블 조인 시 ON 절에 조인 조건을 명시하곤 하는데요. Lateral을 사용해 테이블을 조인하는 경우 대부분 서브 쿼리 절 내에서 선행 테이블 컬럼을 참조하는 형태로 사용하므로 ON 절이 필요하진 않습니다.

그렇지만 MySQL에서 LEFT JOIN 등과 같은 경우에는 문법 상 ON 절을 반드시 명시해야 되기때문에 (명시하지 않으면 쿼리 에러 발생) ON TRUE라는 조건을 넣어준거라고 보시면 됩니다. 항상 조인을 수행하겠다는 의미입니다.

그리고 INNER JOIN의 경우에는 ON 절이 선택사항이다보니 ON TRUE를 명시하지 않아도 쿼리 실행이 가능합니다. 그래서 ON TRUE가 없는 경우는 문법 상 쿼리 실행하는데 문제가 없고, 특별히 해당 부분이 필요하지 않기때문에 명시돼있지 않은거라고 봐주시면 될 것 같아요!

감사합니다.

채널톡 아이콘