컴퓨터활용능력 1급 필기데이터베이스 일반하위 쿼리난이도 3MCQ

컴퓨터활용능력 1급 필기 하위 쿼리 기출문제 #15793

문제

다음 중 아래와 같은 테이블 구조를 가진 데이터베이스에서 부서명이 ‘인사부’인 직원들의 정보를 조회하는 SQL문으로 가장 적절한 것은?

테이블필드
부서부서번호(기본키), 부서명
직원사번(기본키), 사원명, 부서번호(외래키)

① SELECT * FROM 부서 WHERE 부서번호 IN (SELECT 부서번호 FROM 직원) ② SELECT * FROM 직원 WHERE 부서번호 IN (SELECT 부서번호 FROM 부서 WHERE 부서명='인사부') ③ SELECT 직원.* FROM 직원, 부서 WHERE 부서.부서명 = '인사부' ④ SELECT * FROM 부서 WHERE 부서명='인사부' ORDER BY 부서번호

정답

2

해설

정답: 2. '인사부' 직원의 정보가 필요하므로 직원 테이블을 조회해야 한다. 부서명='인사부'에 해당하는 부서번호를 하위 쿼리로 구한 뒤, 그 부서번호를 가진 직원을 IN으로 걸러내는 2번이 적절하다.

오답 풀이

  • 1번: 부서 테이블을 조회해 직원 정보가 나오지 않으므로 목적에 맞지 않는다.
  • 2번: 인사부 부서번호를 하위 쿼리로 구해 해당 직원을 조회하므로 옳다.
  • 3번: 조인 조건(부서.부서번호=직원.부서번호)이 없어 카티전 곱이 발생하므로 옳지 않다.
  • 4번: 부서 테이블만 조회하므로 직원 정보를 얻을 수 없다.

보충 개념 하위 쿼리(서브쿼리)는 안쪽 SELECT의 결과를 바깥 쿼리 조건에 사용한다. 두 테이블을 조인할 때는 반드시 연결 조건을 명시해야 카티전 곱을 피한다.

컴퓨터활용능력 1급 필기 데이터베이스 일반 다른 기출문제

컴퓨터활용능력 1급 필기 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[컴퓨터활용능력 1급 필기] 하위 쿼리 데이터베이스 일반 기출 #15793 | 문어CBT