• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

[주요 SQL 해설] 이메일 분석 관련 쿼리 질문

21.06.09 20:05 작성 조회수 177

1

안녕하세요

14:58 질문이 있습니다.

해당 장면에서 INNER JOIN을 하면 안된다고 하시고 email_open을 안한 경우도 있기 때문일 것이라고 하셨는데 

이 부분이 머릿속에 잘 그려지질 않습니다.

혹시 이 말씀을 조금만 더 자세히 설명해주실 수 있을까요?

답변 1

답변을 작성해보세요.

0

안녕하세요 :)

조인하는 테이블들 중에 e2 테이블은 'email_open' 로그를 조인하기 위해서 사용하는 테이블이죠.

우리가 이 쿼리를 통해 최종적으로 보고 싶은 것은 총 이메일을 보낸 횟수(또는 유저) 대비 이메일을 오픈한 횟수(또는 유저)의 비율이고요. 식으로 써보자면 아래처럼 되겠지요.

이메일 오픈 횟수 / 이메일 전송 횟수

예를 들어 이메일 오픈이 20회고 이메일 전송이 1000회라면 이 비율은 2%가 됩니다.

그런데 여기에서 e2 테이블을 e1 테이블에 LEFT 조인을 하지 않고 INNER 조인을 한다면, e1 테이블에서도 이메일을 오픈한 로그가 있는 사람들만 남게 되기 때문에 분모인 이메일 전송 횟수를 계산할 수 없게 됩니다.

잘 이해가 안되는 부분이 있으시다면 저희 강의 중 <데이터 분석을 위한 중급 SQL>에서 <섹션 3. 두 개 이상 테이블 결합하기> 강의를 들으시거나, LEFT 조인을 사용하는 아래 문제를 한 번 풀어보시면 도움이 될 것 같습니다.

https://leetcode.com/problems/customers-who-never-order/

좋은 질문 감사합니다!