주어진 결과를 출력하는 쿼리로 옳은 것은?
- 1
SELECT COUNT(DISTINCT COL1) FROM TAB1 WHERE COL2 <= 20
정답 근거COUNT(DISTINCT COL1)은 COL1의 서로 다른 비NULL 값 개수를 센다. 반면 `DISTINCT COUNT(*)`는 집계 결과 한 행에 DISTINCT를 적용하므로 단순히 전체 행 수를 반환한다. 따라서 1번 보기 ‘SELECT COUNT(DISTINCT COL1) FROM TAB1 WHERE COL2 <= 20’의 적용 여부를 문제 조건과 대조해야 한다. - 2
SELECT COUNT(COL1) FROM TAB1 WHERE COL2 <= 20
오답 이유‘SELECT COUNT(COL1) FROM TAB1 WHERE COL2 <= 20’ 구문은 ‘SELECT COUNT(DISTINCT COL1) FROM TAB1 WHERE COL2 <= 20’과 실행 결과나 적용 조건이 다르다. COUNT(DISTINCT COL1)은 COL1의 서로 다른 비NULL 값 개수를 센다. 반면 `DISTINCT COUNT(*)`는 집계 결과 한 행에 DISTINCT를 적용하므로 단순히 전체 행 수를 반환한다. 따라서 2번 보기 ‘SELECT COUNT(COL1) FROM TAB1 WHERE COL2 <= 20’의 적용 여부를 문제 조건과 대조해야 한다. - 3
SELECT COUNT(COL1) FROM TAB1 WHERE COL2 <= 20 GROUP BY COL1
오답 이유‘SELECT COUNT(COL1) FROM TAB1 WHERE COL2 <= 20 GROUP BY COL1’ 구문은 ‘SELECT COUNT(DISTINCT COL1) FROM TAB1 WHERE COL2 <= 20’과 실행 결과나 적용 조건이 다르다. COUNT(DISTINCT COL1)은 COL1의 서로 다른 비NULL 값 개수를 센다. 반면 `DISTINCT COUNT(*)`는 집계 결과 한 행에 DISTINCT를 적용하므로 단순히 전체 행 수를 반환한다. 따라서 3번 보기 ‘SELECT COUNT(COL1) FROM TAB1 WHERE COL2 <= 20 GROUP BY COL1’의 적용 여부를 문제 조건과 대조해야 한다. - 4
SELECT COUNT(COL1) FROM TAB1 WHERE COL2 < 30 GROUP BY COL1
오답 이유‘SELECT COUNT(COL1) FROM TAB1 WHERE COL2 < 30 GROUP BY COL1’ 구문은 ‘SELECT COUNT(DISTINCT COL1) FROM TAB1 WHERE COL2 <= 20’과 실행 결과나 적용 조건이 다르다. COUNT(DISTINCT COL1)은 COL1의 서로 다른 비NULL 값 개수를 센다. 반면 `DISTINCT COUNT(*)`는 집계 결과 한 행에 DISTINCT를 적용하므로 단순히 전체 행 수를 반환한다. 따라서 4번 보기 ‘SELECT COUNT(COL1) FROM TAB1 WHERE COL2 < 30 GROUP BY COL1’의 적용 여부를 문제 조건과 대조해야 한다.
정답 1번
핵심 판단은 1번 ‘SELECT COUNT(DISTINCT COL1) FROM TAB1 WHERE COL2 <= 20’입니다. COUNT(DISTINCT COL1)은 COL1의 서로 다른 비NULL 값 개수를 센다. 반면 `DISTINCT COUNT(*)`는 집계 결과 한 행에 DISTINCT를 적용하므로 단순히 전체 행 수를 반환한다.
콘텐츠 정보
- 자료 유형
- 공개 기출 아카이브
- 검수 상태
- 문항·보기·해설 편집 확인
- 해설 작성·검수
- 정처LAB 편집팀
- 최종 검수
- 2026-08-09
COUNT DISTINCT 핵심개념
정답 용어만 외우지 말고 각 보기의 적용 대상·기능·전제 조건을 비교하세요. 같은 분야 기출을 묶어서 풀면 표현이 달라져도 판단 기준을 유지할 수 있습니다.
관련 개념 정리 읽기 →같은 과목 실제 기출 12문제
11번다음 SQL이 조회하는 대상을 옳게 설명한 것은?
해설 보기 →12번SELECT 문장의 논리적 처리 순서로 옳은 것은?
해설 보기 →13번출연료가 8,888 이상인 영화명·배우명·출연료를 조회하는 조인으로 옳은 것은?
해설 보기 →14번부서별 최고 연봉자만 조회하려 할 때 올바른 결과는?
해설 보기 →15번상품 분류별 누적 합계를 계산할 때 현재 행을 기준으로 앞뒤 10,000 범위를 포함하는 프레임은?
해설 보기 →16번다음 자료에서 부서번호 순으로 계산한 부서별 평균급여는?
해설 보기 →17번다음 값 중 가장 큰 것은?
해설 보기 →18번Oracle에서 날짜 열을 기본값 및 NOT NULL 조건과 함께 추가하는 문장으로 옳은 것은?
해설 보기 →19번서브쿼리가 두 개 이상의 열을 반환하고 같은 개수의 열과 한 번에 비교되는 유형은?
해설 보기 →20번영문 월 이름을 반환하는 날짜 형식 요소로 6월을 표시한 값은?
해설 보기 →21번날짜 조건이 시작일과 종료일을 모두 포함하고 두 날짜 차이가 20일이라면 포함되는 날짜 수는?
해설 보기 →22번값이 2000, 1500, 1500, 1500일 때 내림차순 `DENSE_RANK()` 결과로 옳은 것은?
해설 보기 →