인프런 커뮤니티 질문&답변
"주문별 고객별 연관 상품 추출 SQL로 구하기-02" 수업 질문
작성
·
12
0
강사님 안녕하세요 WITH절로 조인하셨을때
아래와 같이 WHERE절에서 product_id를
비교했을때와 조인조건으로 넣었을때 같은 실행계획과 성능이 나오는것 같은데
둘다 맞다고 봐도 되나요?
조인조건에 있는 것과 where조건에 있는 것이
어떤 차이가 있는지 잘 모르겠어서요!
[궁금한 사항]
jointemp_00bona.user_id = b.user_idanda.product_id != b.product_id
--where a.product_id != b.product_id
[전체쿼리]
with
temp_00as (
selectb.user_id , a.order_id , a.product_id
fromorder_itemsa
joinordersbona.order_id = b.order_id
),
temp_01as (
selecta.user_id ,a.product_idasprod_01 , b.product_idasprod_02
fromtemp_00a
jointemp_00bona.user_id = b.user_idanda.product_id != b.product_id
--where a.product_id != b.product_id
)
selectcount(*) fromtemp_01
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 박준현님이 궁금해하신 주제는 SQL에서 조인 조건과 필터 조건(WHERE절)의 차이점에 대한 것입니다. 비슷한 주제를 다루고 있는 유사 질문과 답변을 공유 드립니다.
조인 조건과 WHERE 절의 차이
- 조인 조건: 두 테이블 간에 관계를 설정하기 위해 사용됩니다. 주로 두 테이블에서 일치하는 행을 결합할 때 사용하는 조건을 지정합니다.
- WHERE 절: 쿼리 결과를 필터링하기 위한 조건을 설정합니다. 이 절은 조인 조건 이후에 작동하여 일치하지 않거나 불필요한 데이터를 필터링합니다.
SQL 실행 계획에서 조인 조건과 WHERE 조건이 별도의 역할을 하지만, 쿼리에 따라서 유사한 결과를 만들 수 있습니다. 성능 측면의 차이는 데이터의 구조와 인덱스 유무에 따라 달라질 수 있습니다.
유사한 답변 참고하기
아래의 게시물 URL은 조인 관련 성능이나 조건 설정에 대한 질문과 답변을 담고 있습니다. 강사님의 답변을 통해 추가적인 이해를 도울 수 있을 것입니다:
- 주문별 연관상품 추출 SQL 관련 문의
강사님께서 설명하신 내용에 따르면, 조인 조건과 WHERE 절 중 필터링 역할에 더 적합한 것은 WHERE 절이며, 조인 절에서의 복잡한 조건은 성능에 영향을 줄 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





