모두CBT

24-3[직원] 테이블과 [과제] 테이블이 다음과 같다. 아래 SQL … | 2024년 정보처리기사실기 3회차 기출문제 상세 페이지

5

24-3

[직원] 테이블과 [과제] 테이블이 다음과 같다. 아래 SQL 문을 실행했을 때 결과 ( )에 들어갈 값을 적으시오.

[직원]

번호이름부서코드
1강민호D1
2윤서아D2
3정우진D1
4한소율D3
5조하람D2
6임태오D1

[과제]

부서코드과제명
D1관제
D2결제
D3배송
D3정산
D4인증
SELECT COUNT(*)
FROM 직원 e JOIN 과제 t
    ON e.부서코드 = t.부서코드
WHERE t.과제명 IN (SELECT 과제명
                   FROM 과제
                   WHERE 부서코드 IN (SELECT 부서코드
                                      FROM 직원
                                      GROUP BY 부서코드
                                      HAVING COUNT(*) <= 2));

[결과]

COUNT(*)
( )
해설

4


[해설]

중첩 서브쿼리는 가장 안쪽부터 푼다. 직원 수가 2명 이하인 부서는 D2(2명)·D3(1명)이고, 이 부서들의 과제명은 결제·배송·정산이다.

  • D1 직원 3명 × 관제 — 과제명이 목록에 없어 제외된다.
  • D2 직원 2명 × 결제 — 2행이 남는다.
  • D3 직원 1명 × 배송·정산 — 과제가 둘이라 직원 1명이 2행으로 늘어난다.

조건을 통과한 조인 행은 2 + 2 = 4개다. D4는 직원이 없어 내부 조인에서 처음부터 빠진다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.