강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

박준현님의 프로필 이미지
박준현

작성한 질문수

다양한 사례로 익히는 SQL 데이터 분석

주문별 고객별 연관 상품 추출 SQL로 구하기 - 02

"주문별 고객별 연관 상품 추출 SQL로 구하기-02" 수업 질문

작성

·

4

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 절이며, 조인 절에서의 복잡한 조건은 성능에 영향을 줄 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

박준현님의 프로필 이미지
박준현

작성한 질문수

질문하기