← 회차 전체 문제편집복원내용 검수 완료2026년 정보처리기사 1회 필기 · 데이터베이스 구축 · 57번
다중 행 서브쿼리를 사용하는 SQL 문장으로 문법상 옳은 것은?
- 1
SELECT * FROM 사원 WHERE 부서번호 = SELECT 부서번호 FROM 부서;
오답 이유등호 뒤의 SELECT를 괄호로 감싸지 않았고, 여러 행이 반환되면 단일 값 비교인 =로 처리할 수도 없어 문법과 의미가 모두 부적절하다. - 2
SELECT * FROM 사원 WHERE 부서번호 IN (SELECT 부서번호 FROM 부서);
정답 근거IN 뒤의 서브쿼리를 괄호로 감쌌으며 반환된 여러 부서번호 중 하나와 일치하는 사원 행을 고르는 올바른 문장이다. - 3
SELECT * FROM 사원 IN WHERE (SELECT 부서번호 FROM 부서);
오답 이유IN은 열 표현식과 서브쿼리 사이에 와야 한다. FROM 대상 뒤에 IN과 WHERE를 뒤섞은 이 절 순서는 SQL 문법에 맞지 않는다. - 4
SELECT (FROM 사원) WHERE 부서번호 IN SELECT 부서번호;
오답 이유FROM 절을 SELECT 목록 안에 둘 수 없고 IN 뒤의 서브쿼리도 괄호로 묶어야 하므로 올바른 SQL이 아니다.
정답·상세해설정답 2번
여러 행을 돌려줄 수 있는 서브쿼리는 괄호로 감싸고 IN, ANY, ALL처럼 집합을 처리하는 연산자와 결합해야 한다. ②만 SELECT-FROM-WHERE 절의 순서와 괄호, 다중 행 연산자 사용이 모두 올바르다.
콘텐츠 기록콘텐츠 정보
- 자료 유형
- 편집복원
- 검수 상태
- 내용 검수 완료
- 최종 검수
- 2026-08-21