기출문제/정보처리기사

2021년 2회 정보처리기사 기출문제 46번

엉클지니 2025. 3. 22. 22:51

46. 테이블 R1, R2에 대하여 다음 SQL문의결과는?

 

문제 분석

주어진 SQL문은 다음과 같습니다.

(SELECT 학번 FROM R1)
INTERSECT
(SELECT 학번 FROM R2)
  • INTERSECT 연산자는 두 SELECT 결과에서 공통된 값만 반환합니다.

테이블 분석

[R1] 테이블 (학생 학점 정보)

학번 학점 수

20201111 15
20202222 20

[R2] 테이블 (학생 수강 과목 정보)

학번 과목번호

20202222 CS200
20203333 CS300

INTERSECT 연산 수행

  1. R1에서 학번 조회:
    {20201111, 20202222}
  2. R2에서 학번 조회:
    {20202222, 20203333}
  3. 두 결과의 교집합 (INTERSECT 결과):
    {20202222}

정답 찾기

결과적으로 20202222 한 개의 학번만 출력됩니다.
주어진 선택지 중 ②번이 정답입니다.


해설

  1. SELECT 학번 FROM R1 → {20201111, 20202222}
  2. SELECT 학번 FROM R2 → {20202222, 20203333}
  3. INTERSECT 연산 적용 → 공통된 학번 {20202222}만 출력됨

이처럼 INTERSECT는 두 테이블에 공통으로 존재하는 데이터만 반환한다는 점을 기억하세요!

예시

만약 UNION을 사용했다면?

(SELECT 학번 FROM R1)
UNION
(SELECT 학번 FROM R2)

결과: {20201111, 20202222, 20203333} → 중복 없이 모든 학번 출력

반면 EXCEPT를 사용했다면?

(SELECT 학번 FROM R1)
EXCEPT
(SELECT 학번 FROM R2)

결과: {20201111} → R1에 있지만 R2에 없는 값 출력

결론

  • INTERSECT는 두 테이블에 모두 존재하는 학번만 선택한다.
  • 문제의 정답은 **② (20202222)**이다.

이제 INTERSECT 개념을 확실히 이해했을 거예요! 😊

반응형