다음 테이블 인스턴스(Instance)들에 대하여 오류 없이 동작하는 SQL(Structured Query Language) 문장은?
STUDENT: studno(숫자, 기본키, 학번), name(문자열, 이름), grade(숫자, 학년), height(숫자, 키), deptno(숫자, 학과 번호)
PROFESSOR: profno(숫자, 기본키, 번호), name(문자열, 이름), position(문자열, 직급), salary(숫자, 급여), deptno(숫자, 학과 번호)
정답 2번
UNION 연산자는 두 쿼리의 결과 집합을 합치는 연산자로, 선택된 컬럼의 수와 데이터 타입이 일치해야 합니다. 테이블에서 STUDENT의 (studno, name)과 PROFESSOR의 (profno, name)은 모두 (숫자, 문자열) 구성으로 일치하므로 정상 동작합니다. SELECT deptno, position, AVG(salary) FROM PROFESSOR GROUP BY deptno;: GROUP BY에 포함되지 않은 position 컬럼을 SELECT 절에 단독으로 사용할 수 없습니다. WHERE COUNT(*) > 2: 집계 함수를 조건으로 사용할 때는 WHERE가 아닌 HAVING 절을 사용해야 합니다. WHERE height > (SELECT height, grade...): 서브쿼리의 결과 컬럼 수는 메인쿼리의 비교 대상인 height 하나와 일치해야 하지만, height와 grade 두 개를 반환하여 비교가 불가능합니다.
콘텐츠 정보
- 자료 유형
- 공개 기출
- 검수 상태
- 자동 검사 완료
- 해설 작성·검수
- 정처LAB 자동 검사
- 최종 검수
- 2026-07-26