학습용 기출·복원자료 분류 확인SQLD · 2023년 49회 SQL 기본 및 활용 · 40번
등급이 F 또는 G이면서 금액이 2,000 이상 50,000 이하인 조건은?
1
(GRADE = 'F' OR GRADE = 'G') AND AMT BETWEEN 2000 AND 50000
정답 근거OR로 묶은 등급 조건 전체에 금액 범위를 AND로 결합해야 한다. BETWEEN은 2,000과 50,000 양 끝값을 모두 포함한다. 따라서 1번 보기 ‘(GRADE = 'F' OR GRADE = 'G') AND AMT BETWEEN 2000 AND 50000’의 적용 여부를 문제 조건과 대조해야 한다.
2
GRADE = 'F' OR GRADE = 'G' AND AMT BETWEEN 2000 AND 50000 — 비교 조건 2
오답 이유AND가 OR보다 먼저 평가되어 F 등급에는 금액 조건이 적용되지 않는다. 따라서 2번 보기 ‘GRADE = 'F' OR GRADE = 'G' AND AMT BETWEEN 2000 AND 50000 — 비교 조건 2’의 적용 여부를 문제 조건과 대조해야 한다.
3
GRADE IN ('F','G') OR AMT BETWEEN 2000 AND 50000
오답 이유둘 중 하나만 만족해도 통과하므로 등급과 금액을 동시에 요구하지 않는다. 따라서 3번 보기 ‘GRADE IN ('F','G') OR AMT BETWEEN 2000 AND 50000’의 적용 여부를 문제 조건과 대조해야 한다.
4
GRADE = 'F' AND GRADE = 'G' AND AMT BETWEEN 2000 AND 50000
오답 이유한 행의 등급이 동시에 F와 G일 수 없어 결과가 나오지 않는다. 따라서 4번 보기 ‘GRADE = 'F' AND GRADE = 'G' AND AMT BETWEEN 2000 AND 50000’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 1번
핵심 판단은 1번 ‘(GRADE = 'F' OR GRADE = 'G') AND AMT BETWEEN 2000 AND 50000’입니다. OR로 묶은 등급 조건 전체에 금액 범위를 AND로 결합해야 한다. BETWEEN은 2,000과 50,000 양 끝값을 모두 포함한다.