inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[소프데이터] 예제로 배우는 기초 SQL

Join 부분 질문있습니다!

355

Jorge Hong

작성한 질문수 1

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 중 어느 것을 사용 해도 상관 없는 부분인가요??

sql

답변 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