Join 부분 질문있습니다!
348
작성한 질문수 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 해주는게
보다 적절해보입니다.
또 질문이 있으시면 말씀해주세요 :)
감사합니다.
extract 함수 관련 질문
1
17
2
백업파일이 안보입니다.
0
19
1
최신버젼 다운로드
0
29
2
IN 사용방법 문의
0
17
1
다음 강의는 언제 올려주시는지요?
0
41
2
리뷰를 가장 많이 작성한 회원들 조회
0
29
2
회사 내 AI 툴 사용에 대한 질문
0
33
1
일대일 fk 위치
0
32
1
GROUP BY, HAVING 실습 1번문제
1
32
2
2강에 파일 어디있을까여,,
0
25
2
다음 강의는 언제쯤 나올까요?
0
55
2
땃지님 실습소 DB서버 확인 부탁드립니다
0
31
2
마인드맵 사용 프로그램
1
29
1
엔터티 종류
0
28
2
제 3 정규형 vs BCNF 정규형 차이점?
0
47
3
GROUP BY 시 인덱스를 타지 않는 이유가 궁금합니다
0
23
1
FOREIGN KEY 정리하기, 영상대로 SQL코드 복붙해도 안되요.
0
21
1
모델 서빙과 관련된 강좌 출시 예정된 바가 있으신지 여쭤봅니다!
0
39
2
Vercel 실행이 안됩니다
0
33
2
노션 링크도 안 열리고, 알려준 vercel도 실행이 안됩니다.
0
32
2
코드를 첨부해야하는 이유가 있나요?
0
36
2
간단한 오타 제보입니다.
0
37
1
큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.
0
45
2
실제 FK제약조건을 설정하지 않는이유
0
61
2





