문제
다음 테이블과 인덱스가 있을 때, 주어진 쿼리의 실행 결과로 가장 적절한 것은?
[테이블: EMPLOYEE] EMP_ID | DEPT_ID | SALARY | NAME 1001 | 10 | 5000 | 김철수 1002 | 20 | 6000 | 박영희 1003 | 10 | 5500 | 이민수 1004 | 30 | 7000 | 최유리
[인덱스: IDX_COMPOSITE(DEPT_ID, SALARY DESC)]
[쿼리]
SQLSELECT NAME FROM EMPLOYEE WHERE DEPT_ID = 10 AND SALARY BETWEEN 5000 AND 6000 ORDER BY SALARY DESC;
① 이민수, 김철수 ② 김철수, 이민수 ③ 이민수 ④ 김철수
정답
1번
해설
DEPT_ID=10 조건을 만족하는 행은 김철수(SALARY=5000), 이민수(SALARY=5500)입니다. SALARY BETWEEN 5000 AND 6000 조건도 둘 다 만족합니다. ORDER BY SALARY DESC에 의해 급여가 높은 순서로 정렬되므로 이민수(5500), 김철수(5000) 순으로 출력됩니다. ② 급여 오름차순 정렬 결과입니다. ③④ 일부 결과만 포함한 잘못된 답입니다. 복합 인덱스 IDX_COMPOSITE(DEPT_ID, SALARY DESC)는 이 쿼리에 최적화되어 있어 효율적인 실행이 가능합니다.