학습용 기출·복원자료 분류 확인SQLD · 2025년 57회 SQL 기본 및 활용 · 47번
사람 테이블에서 이름별 가장 작은 ID 한 건만 남기고 중복 행을 삭제할 때 서브쿼리로 사용할 표현은?
1
SELECT MIN(id) FROM 사람 GROUP BY name
정답 근거‘SELECT MIN(id) FROM 사람 GROUP BY name’은 중복 행 삭제의 정의와 질문에서 요구한 적용 조건을 충족한다. 따라서 1번 보기 ‘SELECT MIN(id) FROM 사람 GROUP BY name’의 적용 여부를 문제 조건과 대조해야 한다.
2
SELECT MAX(id) FROM 사람 GROUP BY id
오답 이유‘SELECT MAX(id) FROM 사람 GROUP BY id’ 구문은 ‘SELECT MIN(id) FROM 사람 GROUP BY name’과 실행 결과나 적용 조건이 다르다. ‘SELECT MIN(id) FROM 사람 GROUP BY name’은 중복 행 삭제의 정의와 질문에서 요구한 적용 조건을 충족한다. 따라서 2번 보기 ‘SELECT MAX(id) FROM 사람 GROUP BY id’의 적용 여부를 문제 조건과 대조해야 한다.
3
SELECT MAX(id) FROM 사람 GROUP BY name
오답 이유‘SELECT MAX(id) FROM 사람 GROUP BY name’ 구문은 ‘SELECT MIN(id) FROM 사람 GROUP BY name’과 실행 결과나 적용 조건이 다르다. ‘SELECT MIN(id) FROM 사람 GROUP BY name’은 중복 행 삭제의 정의와 질문에서 요구한 적용 조건을 충족한다. 따라서 3번 보기 ‘SELECT MAX(id) FROM 사람 GROUP BY name’의 적용 여부를 문제 조건과 대조해야 한다.
4
SELECT MIN(name) FROM 사람 GROUP BY id
오답 이유‘SELECT MIN(name) FROM 사람 GROUP BY id’ 구문은 ‘SELECT MIN(id) FROM 사람 GROUP BY name’과 실행 결과나 적용 조건이 다르다. ‘SELECT MIN(id) FROM 사람 GROUP BY name’은 중복 행 삭제의 정의와 질문에서 요구한 적용 조건을 충족한다. 따라서 4번 보기 ‘SELECT MIN(name) FROM 사람 GROUP BY id’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 1번
핵심 판단은 1번 ‘SELECT MIN(id) FROM 사람 GROUP BY name’입니다. ‘SELECT MIN(id) FROM 사람 GROUP BY name’은 중복 행 삭제의 정의와 질문에서 요구한 적용 조건을 충족한다.