STUDENT의 DEPT 값은 개발과 60행, 네트워크과 90행, 사무정보과 50행으로 모두 NOT NULL이며 전체 200행이다. 다음 SQL이 반환하는 행의 수를 각각 쓰시오.①SELECT DEPT FROM STUDENT②SELECT DISTINCT DEPT FROM STUDENT③SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT='개발과'
모범답안
① 200행 ② 3행 ③ 1행
풀이와 판단 근거
일반 SELECT는 중복을 제거하지 않으므로 STUDENT의 모든 행에 대해 DEPT를 반환해 200행이다. DISTINCT를 적용하면 서로 다른 학과 세 값만 남아 3행이다.
COUNT는 집계 결과를 한 셀에 담은 한 행을 반환하며, 조건에 해당하는 distinct 학과 수의 값도 1이다. 따라서 ‘반환 행 수’와 ‘집계 셀 값’은 구분하되 이 경우 둘 다 1이다.
자주 틀리는 지점
- 일반 SELECT도 자동으로 중복을 제거한다고 판단
- 세 번째 쿼리가 개발과 학생 60행을 반환한다고 답함
- COUNT 결과 셀 값 1과 결과 행 수 1을 구분하지 못함
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.