기출문제/정보처리기사

2020년 4회 정보처리기사 기출문제 51번

엉클지니 2025. 4. 2. 22:25

다음 SQL문의 실행 결과는?

 

 

💡 문제 분석

주어진 SQL문은 서브쿼리와 EXISTS 절을 사용하여 특정 조건을 만족하는 데이터를 조회하는 문제입니다.
아래의 SQL문을 분석해 보겠습니다.


📖 SQL문 분석

SELECT 과목이름
FROM 성적
WHERE EXISTS (
    SELECT 학번
    FROM 학생
    WHERE 학생.학번 = 성적.학번
    AND 학생.학과 IN ('전산', '전기')
    AND 학생.주소 = '경기'
);

🔍 분석 과정

  1. 서브쿼리 실행:위 조건에 맞는 학생을 찾습니다.학번 이름 학년 학과 주소
    2000 고영준 1 전산 경기
    3000 유진호 2 전기 경기
    👉 서브쿼리 결과: 학번 2000, 3000
  2. SELECT 학번 FROM 학생 WHERE 학생.학과 IN ('전산', '전기') AND 학생.주소 = '경기';

  1. 메인 쿼리 실행:서브쿼리의 학번 2000, 3000이 존재하는 성적 테이블의 데이터를 확인합니다.학번 과목번호 과목이름 학점 점수
    2000 A200 DB A+ 99
    3000 A100 자료구조 B+ 88
    3000 A200 DB B 80
    3000 A300 운영체제 B 88
    👉 2000, 3000 학번의 과목이름은 DB, 자료구조, DB, 운영체제입니다.
  2. SELECT 과목이름 FROM 성적 WHERE EXISTS (서브쿼리의 학번과 일치하는 성적.학번이 있을 경우)

📌 결과 정리

과목이름

DB
DB
운영체제

정답은 ③번 입니다. ✅


💡 결론

정답은 ③번!

  • EXISTS 절은 서브쿼리 결과가 존재하는지 확인하는 역할을 합니다.
  • 주어진 조건을 만족하는 학생들의 학번을 찾아 성적 테이블에서 관련된 과목 이름을 출력합니다.

😊🔥

반응형