Join 부분 질문있습니다!
375
작성한 질문수 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 해주는게
보다 적절해보입니다.
또 질문이 있으시면 말씀해주세요 :)
감사합니다.
battle 테이블 오류
0
7
2
DB 쿼리 최적화 시 DB 처리와 애플리케이션 처리의 기준이 궁금합니다
0
12
1
실무에서의 인덱스 관리 방법이 궁금합니다
0
29
1
Group By 절에 작성하는 컬럼 문의드립니다.
0
36
3
문제와 풀이2 1번문제
0
24
1
1번 문제 질문
0
46
2
3-13 리텐션 과제 제출합니다
0
54
2
실습 데이터(PostgreSQL 백업 파일) 관련하여 문의드립니다. (Hive 환경 실습)
0
51
2
sakila 실전 17번 문제
0
41
1
app logs 데이터로 쿼리 연습
0
57
2
마스터패스...
0
60
1
[과제] 연습문제 쿼리 작성했습니다!
0
51
2
실습소 페이지
0
67
3
57번
0
41
1
안녕하세요. 요약집 어디서 볼 수 있을까요?
0
36
1
64비트 다운로드 링크
0
50
2
리뷰
0
69
2
3번 문제 질문!
0
53
2
41번과 43번 문제
0
50
1
upload_file_id가 1,3,4 순서인 건에 대해
0
56
1
p.created_at vs u.name 인덱스 문의
0
55
2
수강기간 연장 문의드립니다
1
51
2
이진 트리 노드
0
59
1
조인의 특징
0
63
2





