해결된 질문
24.05.16 16:27 작성
·
115
0
join employee b on a.key = b.key and a.fromdate betweeen b.fromdate and b.todate
여기서 질문 있습니다!
join 을 할때 between 조건을 걸어주는 것과
이렇게 where 절에 조건을 걸어주는 게 어떤 차이가 있는지 궁금합니다.
~ join employee b on a.key = b.key
where a.fromdate betweeen b.fromdate and b.todate
조인 조건에 조건을 추가하는 것과
where 절에 조건을 추가하는게 똑같아보이는데 차이가 있을까요
답변 2
1
2024. 05. 17. 15:38
안녕하십니까,
인프런 AI 인턴이 답변을 잘해 주었군요. 첨언 드리면
두개의 SQL 수행 결과는 동일합니다. 다만, 조인을 Between으로 수행하여 두개의 테이블을 연결할 수도 있음을 보여드리기 위해서 해당 SQL을 작성했습니다. Between 조인을 하지 않고, where절을 사용하면 key로만 해당 테이블을 연결한 뒤에 where 조건으로 필터링만 수행하게 됩니다.
지금 말씀드린 부분은 SQL의 실행 계획에 대한 부분이라 조금 이해가 어려울 수 있지만, 요약적으로 말씀드리면 조인절에 BETWEEN으로 두개의 테이블을 연결할 수 있다 정도로 이해해 주시면 좋을 것 같습니다.
위 사항과 관련해서 제가 좀 더 자세히 설명드린 기존 질문/답변이 아래와 같이 있으니 참조 부탁드립니다. 감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
질문하신 내용에 대해 “Non Equi 조인과 Cross 조인 실습 질문있습니다.“에서 자세히 설명되어 있습니다. 이 답변에서는 조인 시 ON
절에 조건을 추가하는 것과 WHERE
절에 동일한 조건을 추가하는 것 사이의 차이에 대해 설명하고 있습니다. 강사님은 ON
절에 조건을 추가하는 것이 처리량을 줄이는 데 더 효과적일 수 있다고 설명하시며, 이러한 방식이 WHERE
절을 사용할 때보다 조인의 효율성을 증가시킬 수 있음을 언급합니다.
위의 게시물에서는 인덱스 사용과 실행 계획에 대한 영향을 포함해, 조인을 처리하는 방식에서 중요한 차이점을 논의합니다. 특히, ON
절과 WHERE
절에서 조건을 사용하는 방식이 실행 계획과 테이블 접근 방식에 어떻게 영향을 미치는지 설명하고 있습니다.
이 주제에 대해 더 깊이 있게 이해하고 싶으시다면 위 링크를 참고하시는 것을 추천드립니다. SQL에서 데이터를 조인하는 방법과 이에 따른 성능상의 차이를 이해하는 것은 데이터 처리와 분석에 있어 매우 중요합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.