정보처리기사 실기SQLSQL - 상관 서브쿼리난이도 5SHORT_ANSWER

정보처리기사 실기 SQL - 상관 서브쿼리 기출문제 #394

문제

다음 [점수] 테이블에서 SQL문을 실행한 결과로 출력되는 학번을 모두 쓰시오 (콤마로 구분).

학번과목점수
101수학80
102수학90
103영어70
104영어85
SQL
SELECT 학번 FROM 점수 s1 WHERE 점수 < (SELECT MIN(점수) FROM 점수 s2 WHERE s2.과목 = s1.과목) + 15;

정답

101, 102, 103

101, 102, 103101,102,103103, 102, 101103,102,101102, 101, 103102,101,103101, 103, 102101,103,102102, 103, 101102,103,101103, 101, 102103,101,102

해설

  1. 상관 서브쿼리로 과목별 최솟값을 구합니다:

    • 수학 과목: MIN(80, 90) = 80
    • 영어 과목: MIN(70, 85) = 70
  2. 각 행에 대해 조건을 확인합니다:

    • 101(수학, 80): 80 < 80+15(95) → 참
    • 102(수학, 90): 90 < 80+15(95) → 참
    • 103(영어, 70): 70 < 70+15(85) → 참
    • 104(영어, 85): 85 < 70+15(85) → 거짓
  3. 따라서 조건을 만족하는 학번은 101, 102, 103입니다.

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

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