문제
다음 A 테이블을 참고하여 SQL 실행 결과로 가장 적절한 것은?
| col1 | col2 |
|---|---|
| 1 | 3 |
| 2 | 1 |
| 3 | 2 |
| 4 | 5 |
| 2 | NULL |
SQLSELECT COUNT(col2) FROM A WHERE col1 IN (2, 3) OR col2 IN (3, 5);
① 2 ② 3 ③ 4 ④ 5
정답
3번
해설
정답: 3. 조건을 만족하는 행은 5행이지만, 그중 마지막 행은 col2가 NULL이다. COUNT(col2)는 NULL을 제외하므로 결과는 4이다.
오답 풀이
- 1번: 조건 만족 행을 일부만 센 값이다.
- 2번: col1 IN 조건 일부만 계산한 값이다.
- 3번: 조건 만족 행 중 col2가 NULL이 아닌 값의 개수이므로 정답이다.
- 4번: COUNT(*)처럼 조건 만족 전체 행 수를 센 값이다.
보충 개념 COUNT(col2)는 NULL을 제외하고 센다. OR 조건은 둘 중 하나라도 만족하면 TRUE이다.