• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

직원 급여이력에서 가장 최근의 급여이력 쿼리

23.10.02 18:06 작성 조회수 104

0

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

상관 서브 쿼리와 단순 비교 연산자 강의에서

직원 급여 이력에서 가장 최근 급여 이력을 호출해라 문제를 봤습니다.

 

강사님께서는 설명해주실 때

select * from hr.emp_salary_hist a where todate = (select max(todate) from hr.emp_salary_hist x where x.empno= a.empno)

쿼리로 설명해주셨습니다.

 

그런데, 그냥 select max(todate) from emp_salary_hist;

로 최근 날짜 직원 급여 이력을 뽑으면 안되는걸까요??

 

왜 서브쿼리로 셀프 조인을 하는 건지 궁금합니다.

답변 1

답변을 작성해보세요.

0

안녕하십니까,

제가 드린 문제는 개별 사원별로 가장 최근의 emp_salary_hist 급여 이력의 모든 정보, empno, from_date, to_date, salary의 정보를 가져오는 것입니다.

emp_salary_hist는 empno별로 여러건의 급여 이력 정보를 가지고 있는 데 이중 가장 최근 한건만 추출하는 방법을 설명드린 것입니다.

적어 주신 쿼리는 emp_salary_hist의 가장 최근 to_date만 가져오게 됩니다.

감사합니다.