← 회차 전체 문제학습용 기출·복원자료 분류 확인SQLD · 2024년 54회 SQL 기본 및 활용 · 39번
STATUS가 '완료'인 행의 개수만 계산하는 표현으로 가장 적절한 것은?
- 1
COUNT(CASE WHEN STATUS = '완료' THEN 1 END)
정답 근거조건이 참일 때 1, 거짓일 때 NULL을 만들고 COUNT가 비NULL 값만 세므로 완료 행 수를 구한다. 따라서 1번 보기 ‘COUNT(CASE WHEN STATUS = '완료' THEN 1 END)’의 적용 여부를 문제 조건과 대조해야 한다. - 2
COUNT(CASE WHEN STATUS = '완료' THEN NULL ELSE 1 END)
오답 이유완료 행에는 NULL, 나머지 행에는 1을 만들어 완료가 아닌 행 수를 센다. 따라서 2번 보기 ‘COUNT(CASE WHEN STATUS = '완료' THEN NULL ELSE 1 END)’의 적용 여부를 문제 조건과 대조해야 한다. - 3
COUNT(*)
오답 이유COUNT(*)는 상태와 관계없이 모든 행을 센다. 따라서 3번 보기 ‘COUNT(*)’의 적용 여부를 문제 조건과 대조해야 한다. - 4
SUM(STATUS = '완료')
오답 이유Oracle SQL에서는 불리언 비교식을 숫자처럼 SUM에 직접 전달할 수 없다. 따라서 4번 보기 ‘SUM(STATUS = '완료')’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION정답 1번
핵심 판단은 1번 ‘COUNT(CASE WHEN STATUS = '완료' THEN 1 END)’입니다. COUNT(표현식)은 NULL을 제외한다. CASE가 완료 행에만 1을 반환하도록 작성하면 완료 행 수만 계산할 수 있다.
CONTENT RECORD콘텐츠 정보
- 자료 유형
- 공개 기출 아카이브
- 검수 상태
- 문항·보기·해설 편집 확인
- 최종 검수
- 2026-08-09