Join 부분 질문있습니다!
355
작성한 질문수 1
안녕하세요 sql 강의를 듣는 학생 1 입니다
join 강의 내용중에서
-#국가 도시별 구매자수 구해줘#-
select country, city, count(distinct orders.customerNumber)
from classicmodels.orders
left join classicmodels.customers
on orders.customerNumber = customers.customernumber
group by country, city; 에서
위에 볼드 처리 된 부분에서
select country, city, count(distinct orders.customerNumber)
->
select country, city, count(distinct customers.customerNumber)
로 하여도 같은 결과가 나오는데 customerNumber를 가져오는 것이기 때문에 orders와 customers 중 어느 것을 사용 해도 상관 없는 부분인가요??
답변 1
2
안녕하세요!
네 맞습니다
CUSTOMERNUMBER는 양쪽 테이블 공통으로 존재하기 때문에
2개 테이블 중 하나를 선택하여 COUNT해주면 됩니다.
단 조심할 부분이 있는데요
만약 orders에는 존재하지만 customers에는 존재하지 않는 customernumber가 있다면
orders 테이블의 customernumber를 count해주는게 맞습니다.
우리가 구하고자 하는 것은 구매자 수이므로 orders에 존재하는 cusotmernumber를 count 해주는게
보다 적절해보입니다.
또 질문이 있으시면 말씀해주세요 :)
감사합니다.
드랍 테이블로 지운 ordes에 대해서 질문
0
6
1
문제 풀이 1번 질문
0
20
1
아주 작은 정오표 전달드립니다.
0
52
2
mysql워크벤치를 실행할때마다 오류가 뜹니다. 해결 방법좀 가르켜주세요.
0
43
1
함수기반 인덱스
0
29
2
날짜 인덱스관련 질문
0
26
1
복합인덱스 확인법
0
23
0
order_product 까마귀발
0
44
2
공통 코드 , 계층 구조 질문
1
37
1
77번 문제
0
27
1
76번 문제
1
34
2
64번 문제 관련
0
37
2
2,3차 정규화 질문
0
43
2
수강완료 후 문의 드립니다.
1
47
2
실전 모의고사 난이도
0
56
2
Part2 기출 문제 및 해설 자료 파일 없음 형태
0
53
2
21번 마지막 설명에 대해 질문이 있습니다.
0
49
2
노랭이67번
0
35
1
[DB설계] 탈퇴 유저의 구독 정보 유지 및 이메일 마스킹 관련 질문입니다.
0
53
1
자연키 vs 대리키 실무질문
0
28
1
38번 문제 보기 3,4번
1
45
3
14번 문제
1
45
2
결재했는데도 강좌가 안보입니다.
0
49
1
모바일 앱 쿠폰
0
45
1





