Join 부분 질문있습니다!
348
1 asked
안녕하세요 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 중 어느 것을 사용 해도 상관 없는 부분인가요??
Answer 1
2
안녕하세요!
네 맞습니다
CUSTOMERNUMBER는 양쪽 테이블 공통으로 존재하기 때문에
2개 테이블 중 하나를 선택하여 COUNT해주면 됩니다.
단 조심할 부분이 있는데요
만약 orders에는 존재하지만 customers에는 존재하지 않는 customernumber가 있다면
orders 테이블의 customernumber를 count해주는게 맞습니다.
우리가 구하고자 하는 것은 구매자 수이므로 orders에 존재하는 cusotmernumber를 count 해주는게
보다 적절해보입니다.
또 질문이 있으시면 말씀해주세요 :)
감사합니다.
노션 링크도 안 열리고, 알려준 vercel도 실행이 안됩니다.
0
10
1
코드를 첨부해야하는 이유가 있나요?
0
20
2
간단한 오타 제보입니다.
0
19
1
큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.
0
35
2
실제 FK제약조건을 설정하지 않는이유
0
35
2
Free Edition 실습 영상은 아직 업데이트전인가요?
0
22
1
상품 정보 크롤링
0
29
2
강의에 적용한 스크립트를 받아 볼수 있을까요?
0
40
2
실습소실행안되요
0
39
1
수강기간 연장
0
27
1
BCNF 질문
0
49
2
연관 엔티티 네이밍 규칙
0
40
1
ORA-01017 오류 때문에 진도가 못나가고있습니다.!
0
38
2
히스토리 관련 질문
0
58
2
SSMS 설치 오류
0
50
1
제공된 홈페이지 로그인 ,출력값, 건의사항 오류
1
49
1
최신 하드웨어에서 SQL Express 설치에러 해결법
0
59
1
자료가 남지않은 프로젝트는 어떻게 적어야 할까요?
0
42
2
진짜 강의 듣는거 너무 고문
0
114
1
vs code
0
48
2
맥북용 자료 부탁드립니다.
0
37
2
로그인이 안되네요
0
33
1
수업자료 다운
0
46
2
최종 과제 제출
0
82
3

