학습용 기출·복원자료 분류 확인SQLD · 2023년 50회 SQL 기본 및 활용 · 28번
부서별 최고 연봉자 전원을 구하는 조건으로 적절한 것은?
1
사원 연봉을 같은 부서의 MAX(연봉)와 비교한다.
정답 근거부서 조건을 포함한 상관 서브쿼리나 PARTITION BY 분석 함수를 사용하면 각 부서의 최고값을 구할 수 있다. 연봉이 같은 동점자는 모두 최고 연봉자로 남는다. 따라서 1번 보기 ‘사원 연봉을 같은 부서의 MAX(연봉)와 비교한다.’의 적용 여부를 문제 조건과 대조해야 한다.
2
전체 사원의 MAX(연봉)와 비교한다.
오답 이유전사 최고 연봉자만 남고 다른 부서의 최고 연봉자는 제외된다. 따라서 2번 보기 ‘전체 사원의 MAX(연봉)와 비교한다.’의 적용 여부를 문제 조건과 대조해야 한다.
3
같은 부서의 MIN(연봉)과 비교한다.
오답 이유‘같은 부서의 MIN(연봉)과 비교한다.’은 이 문항에서 요구하는 ‘사원 연봉을 같은 부서의 MAX(연봉)와 비교한다.’의 정의·역할과 구분된다. 부서 조건을 포함한 상관 서브쿼리나 PARTITION BY 분석 함수를 사용하면 각 부서의 최고값을 구할 수 있다. 연봉이 같은 동점자는 모두 최고 연봉자로 남는다. 따라서 3번 보기 ‘같은 부서의 MIN(연봉)과 비교한다.’의 적용 여부를 문제 조건과 대조해야 한다.
4
연봉 내림차순 정렬만 하고 필터는 하지 않는다.
오답 이유정렬은 행을 제거하지 않으므로 최고가 아닌 사원도 결과에 남는다. 따라서 4번 보기 ‘연봉 내림차순 정렬만 하고 필터는 하지 않는다.’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 1번
핵심 판단은 1번 ‘사원 연봉을 같은 부서의 MAX(연봉)와 비교한다.’입니다. 부서 조건을 포함한 상관 서브쿼리나 PARTITION BY 분석 함수를 사용하면 각 부서의 최고값을 구할 수 있다. 연봉이 같은 동점자는 모두 최고 연봉자로 남는다.