From 절에 사용하는 인라인 뷰 활용 문제
현재 다니고 있는 매니저들의 평균 연봉 구하기
select emp_no, 평균연봉
from (select emp_no, avg(salary) as 평균연봉
from salaries as s
group by emp_no) as avg_salary
where emp_no in (select emp_no from dept_manager where to_date = '9999-01-01');
내가 짠 코드
인라인뷰, 중첩 서브쿼리를 동시 사용해서 문제를 풀었는데 위와 같은 결과 집합을 join을 활용해서 다시 만들어봤는데
결과가 위 코드와 다르게 나왔다.
select d.emp_no, avg(s.salary), d.to_date
from dept_manager as d
join salaries as s
on d.emp_no = s.emp_no
where s.to_date = '9999-01-01'
group by d.emp_no;
오답풀이
select d.emp_no, avg(s.salary), d.to_date
from dept_manager as d
join salaries as s
on d.emp_no = s.emp_no
where d.to_date = '9999-01-01'
group by s.emp_no;
where 절에 날짜와 select 절의 날짜가 달라서 결과값이 다르게 나온 거였다.
group by도 문젠가 싶어서 d.emp_no를 넣어봤는데 상관이 없었음.
where, select절에서 d.to_date를 s.td_date로 바꾸니까 salaries의 to_date를 기준으로 나왔음
728x90
'Error note' 카테고리의 다른 글
맥 MySQL employees 폴더 불러오기 해결 (1) | 2024.06.11 |
---|