문제
다음 [성적] 테이블에서 SQL문을 실행한 결과로 출력되는 학번을 모두 쓰시오 (콤마로 구분).
| 학번 | 과목 | 점수 |
|---|---|---|
| 2001 | 수학 | 85 |
| 2002 | 수학 | 75 |
| 2003 | 영어 | 90 |
| 2004 | 영어 | 80 |
SQLSELECT 학번 FROM 성적 s1 WHERE 점수 < (SELECT AVG(점수) FROM 성적 s2 WHERE s2.과목 = s1.과목);
정답
2002, 2004
2002, 20042004, 20022002,20042004,2002
해설
각 과목별 평균 점수를 계산하면 수학: (85+75)/2 = 80, 영어: (90+80)/2 = 85입니다. 상관 서브쿼리에서 각 학생의 점수가 해당 과목 평균보다 낮은 경우를 찾습니다. 수학에서 80 미만인 2002(75점), 영어에서 85 미만인 2004(80점)가 조건에 해당합니다.