inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Join 부분 질문있습니다!

375

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

보다 적절해보입니다.

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

감사합니다.

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