다음 SQL문의 실행 결과를 쓰시오.
SELECT COUNT(*)
FROM RESULT
WHERE KIND = 'A' AND SCORE >= 80 OR KIND = 'C';| ID | KIND | SCORE |
|---|---|---|
| 1 | A | 70 |
| 2 | B | 90 |
| 3 | A | 50 |
| 4 | C | 95 |
모범답안
1
풀이와 판단 근거
SQL에서 AND는 OR보다 먼저 평가되므로 조건은 (KIND='A' AND SCORE>=80) OR KIND='C'다. A행의 점수는 70과 50이라 첫 묶음을 만족하는 행이 없다.
KIND='C'인 ID 4만 두 번째 조건을 만족하므로 COUNT(*) 결과는 1이다. 괄호를 KIND='A' AND (SCORE>=80 OR KIND='C')로 임의 해석하면 안 된다.
자주 틀리는 지점
- AND와 OR를 왼쪽부터 같은 우선순위로 계산함
- KIND='C'인 행에도 SCORE>=80 조건이 필요하다고 오해함
- 조건을 만족하는 ID 값 4를 COUNT 결과로 답함
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.