인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

kyuunng's profile image
kyuunng

asked

Data Analysis SQL Fundamentals

Group By Practice - 01

group by 실습 - 01 강의 내 질문입니다

Written on

·

272

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

 

-- 부서명 SALES와 RESEARCH 소속 직원별로 과거부터 현재까지 모든 급여를 취합한 평균 급여

 

select b.ename , sum(c.sal) as sum_sal, round(avg(c.sal),0) as avg_sal

from hr.dept a

join hr.emp b on a.deptno =b.deptno

join hr.emp_salary_hist c on b.empno =c.empno

where a.dname in ('SALES', 'RESEARCH')

group by b.ename ;

 

 

여기에서 수업에는

group by b.empno ; 라고 알려주셨는데

group by b.ename ;으로 그룹바이를 잡아도 내용엔 상관이 없을지 궁금합니다!

 

나온 결과값으로 봤을 땐 차이가 없어보이는데 나중에 데이터가 많은 작업을 할 시 어떻게 될 지 궁금합니다!

DBMS/RDBMSpostgresqlsql

Answer 1

0

권 철민님의 프로필 이미지
권 철민
Instructor

안녕하십니까,

현재 데이터는 차이가 없을 수 있는데, group by 를 empno가 아니라 ename으로 할 경우 본질적으로는 결과가 차이가 날 수가 있습니다.

왜냐하면 직원중에 동명이인이 있을 수 있기 때문입니다. 서로 다른 직원번호를 가지지만 같은 이름을 가지고 있는 직원들이 있다면 group by empno와 group by ename은 결과가 다를 수 있습니다.

감사합니다.

kyuunng님의 프로필 이미지
kyuunng
Questioner

아! 맞네요! 동명이인을 생각 못했어요! 감사합니다

kyuunng's profile image
kyuunng

asked

Ask a question