커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
답이 다르게 나옵니다.
[왕초보] 엑셀보다 쉬운, SQL v3
3주차
북마크
이*진
댓글
2
추천
0
조회수
7
조회수
7
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.



04. 이렇게 끝내면 아쉽죠? 한번 더 총복습!

13) [퀴즈] Join 연습5


select c.title, h.week, count(*) from courses c

inner join checkins h on c.course_id = h.course_id

inner join orders o on h.course_id = o.course_id

where o.created_at >= '2020-08-01'

group by c.title, h.week

order by c.title, h.week



  • 정답 쿼리 살펴보기!
select c1.title, c2.week, count(*) as cnt from courses c1
inner join checkins c2 on c1.course_id = c2.course_id
inner join orders o on c2.user_id = o.user_id
where o.created_at >= '2020-08-01'
group by c1.title, c2.week
order by c1.title, c2.week


차이점은


2번째 inner join에서 저는 course_id 로 묶었고, 답안에서는 user_id로 묶은 차이밖에 없더라고요.

inner join orders o on c2.user_id = o.user_id


저는 3개의 테이블에서 모두 들어간 공통 컬럼이 'course_id'라고 판단하여 묶었는데요.

user_id로 묶어야하는 이유가 있을까요?

그리고 course_id로 묶을시 답이 다르게 나오는 이유가 무엇일까요?




제가 구한 답

스파르타 즉문즉답




강사님 답안

스파르타 즉문즉답






취소
 공유
취소
댓글 0
댓글 알림
나의얼굴