inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Join 부분 질문있습니다!

348

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 해주는게

보다 적절해보입니다.

또 질문이 있으시면 말씀해주세요 :)

감사합니다.

간단한 오타 제보입니다.

0

9

0

큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.

0

29

2

실제 FK제약조건을 설정하지 않는이유

0

20

1

Free Edition 실습 영상은 아직 업데이트전인가요?

0

18

1

상품 정보 크롤링

0

24

2

강의에 적용한 스크립트를 받아 볼수 있을까요?

0

39

2

실습소실행안되요

0

35

1

수강기간 연장

0

26

1

BCNF 질문

0

47

2

연관 엔티티 네이밍 규칙

0

39

1

ORA-01017 오류 때문에 진도가 못나가고있습니다.!

0

36

2

히스토리 관련 질문

0

56

2

SSMS 설치 오류

0

48

1

제공된 홈페이지 로그인 ,출력값, 건의사항 오류

1

45

1

최신 하드웨어에서 SQL Express 설치에러 해결법

0

57

1

자료가 남지않은 프로젝트는 어떻게 적어야 할까요?

0

38

2

진짜 강의 듣는거 너무 고문

0

109

1

vs code

0

45

2

맥북용 자료 부탁드립니다.

0

35

2

로그인이 안되네요

0

32

1

수업자료 다운

0

44

2

최종 과제 제출

0

81

3

교재 p.31 실행순서 오류?

0

107

2

제 3정규화 관련 질문

0

48

3