모두CBT

22-2[T] 테이블이 아래와 같을 때, 주어진 SQL 문의 실행 결과… | 2022년 정보처리기사실기 2회차 기출문제 상세 페이지

16

22-2

[T] 테이블이 아래와 같을 때, 주어진 SQL 문의 실행 결과로 출력되는 값을 적으시오.

[T]

IDAB
14NULL
217
3NULL2
497
51NULL
683
SELECT COUNT(B) FROM T
WHERE A IN (1, 4) OR B IN (2, 7);
해설

3


[해설]

WHERE 조건으로 행을 먼저 거른 뒤, COUNT(B)는 그중 B가 NULL이 아닌 행만 센다.

  • A IN (1, 4)로 걸리는 행: ID 1, 2, 5
  • B IN (2, 7)로 걸리는 행: ID 2, 3, 4 (ID 3은 A가 NULL이지만 OR의 다른 쪽이 참이라 포함)
  • ID 6은 두 조건 모두 거짓이라 제외

남은 ID 1~5 가운데 ID 1과 5는 B가 NULL이라 세지 않는다. 결과는 3이다.

COUNT(*)였다면 NULL과 무관하게 행 수 5가 나온다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.