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 연산 수행
- R1에서 학번 조회:
{20201111, 20202222} - R2에서 학번 조회:
{20202222, 20203333} - 두 결과의 교집합 (INTERSECT 결과):
{20202222}
정답 찾기
결과적으로 20202222 한 개의 학번만 출력됩니다.
주어진 선택지 중 ②번이 정답입니다.
해설
- SELECT 학번 FROM R1 → {20201111, 20202222}
- SELECT 학번 FROM R2 → {20202222, 20203333}
- 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 개념을 확실히 이해했을 거예요! 😊
반응형
'기출문제 > 정보처리기사' 카테고리의 다른 글
2021년 2회 정보처리기사 기출문제 48번 (0) | 2025.03.22 |
---|---|
2021년 2회 정보처리기사 기출문제 47번 (0) | 2025.03.22 |
2021년 2회 정보처리기사 기출문제 45번 (0) | 2025.03.22 |
2021년 2회 정보처리기사 기출문제 44번 (0) | 2025.03.22 |
2021년 2회 정보처리기사 기출문제 43번 (0) | 2025.03.22 |