다음 SQL문의 실행 결과를 쓰시오.
테이블 A의 데이터가 다음과 같을 때 조회 결과를 구하시오.
SELECT COUNT(COL2)
FROM A
WHERE COL1 IN (2, 3)
OR COL2 IN (3, 5);| COL1 | COL2 |
|---|---|
| 2 | NULL |
| 3 | 6 |
| 2 | 3 |
| NULL | 3 |
| 4 | 5 |
모범답안
4
풀이와 판단 근거
WHERE에서 첫째·셋째 행은 COL1이 2, 둘째 행은 COL1이 3, 넷째·다섯째 행은 COL2가 각각 3과 5여서 다섯 행이 모두 통과한다. 그러나 COUNT(COL2)는 COL2가 NULL인 첫째 행을 제외하고 값이 있는 네 행만 센다.
따라서 결과는 4다. COUNT(*)였다면 WHERE를 통과한 행 자체를 세므로 5가 된다.
자주 틀리는 지점
- COUNT(COL2)가 NULL도 포함한다고 보고 5로 답함
- OR를 AND처럼 계산해 두 조건을 모두 만족하는 행만 남김
- NULL IN (3,5)의 결과만 보고 넷째 행 전체를 제외하지만 COL2=3 조건이 참임을 놓침
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.