학습용 기출·복원자료 분류 확인SQLD · 2026년 60회 SQL 기본 및 활용 · 25번
Select col2 From t1 Where col2 = ( select col2 From t2 Where a=`A`)오류없이 실행될려면 되어야 하는 col2의 제약조건?
1
unique
정답 근거COUNT(DISTINCT COL1)은 COL1의 서로 다른 비NULL 값 개수를 센다. 반면 `DISTINCT COUNT(*)`는 집계 결과 한 행에 DISTINCT를 적용하므로 단순히 전체 행 수를 반환한다. 따라서 1번 보기 ‘unique’의 적용 여부를 문제 조건과 대조해야 한다.
2
SELECT COUNT(DISTINCT COL1) FROM T
오답 이유‘SELECT COUNT(DISTINCT COL1) FROM T’은 복원된 정답 단서와 일치하지 않으므로 선택하지 않는다. 따라서 2번 보기 ‘SELECT COUNT(DISTINCT COL1) FROM T’의 적용 여부를 문제 조건과 대조해야 한다.
3
SELECT COUNT(*) FROM (SELECT DISTINCT COL1 FROM T)
오답 이유‘SELECT COUNT(*) FROM (SELECT DISTINCT COL1 FROM T)’은 복원된 정답 단서와 일치하지 않으므로 선택하지 않는다. 따라서 3번 보기 ‘SELECT COUNT(*) FROM (SELECT DISTINCT COL1 FROM T)’의 적용 여부를 문제 조건과 대조해야 한다.
4
SELECT COUNT(*) FROM T GROUP BY COL1
오답 이유‘SELECT COUNT(*) FROM T GROUP BY COL1’은 복원된 정답 단서와 일치하지 않으므로 선택하지 않는다. 따라서 4번 보기 ‘SELECT COUNT(*) FROM T GROUP BY COL1’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 1번
핵심 판단은 1번 ‘unique’입니다. COUNT(DISTINCT COL1)은 COL1의 서로 다른 비NULL 값 개수를 센다. 반면 `DISTINCT COUNT(*)`는 집계 결과 한 행에 DISTINCT를 적용하므로 단순히 전체 행 수를 반환한다.