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 ;으로 그룹바이를 잡아도 내용엔 상관이 없을지 궁금합니다!
나온 결과값으로 봤을 땐 차이가 없어보이는데 나중에 데이터가 많은 작업을 할 시 어떻게 될 지 궁금합니다!
Answer 1
0
안녕하십니까,
현재 데이터는 차이가 없을 수 있는데, group by 를 empno가 아니라 ename으로 할 경우 본질적으로는 결과가 차이가 날 수가 있습니다.
왜냐하면 직원중에 동명이인이 있을 수 있기 때문입니다. 서로 다른 직원번호를 가지지만 같은 이름을 가지고 있는 직원들이 있다면 group by empno와 group by ename은 결과가 다를 수 있습니다.
감사합니다.
아! 맞네요! 동명이인을 생각 못했어요! 감사합니다