합격 후기 작성하고 2,000원 쿠폰 받아가세요! (게시글 탭 → 합격후기)

SQL 개발자 자격증SQL 활용중복 삭제난이도 3MCQ

SQL 개발자 자격증 중복 삭제 기출문제 #3757

문제

이름이 중복된 데이터 중 각 이름별로 가장 작은 ID만 남기고 나머지를 삭제하려고 한다. DELETE 조건으로 가장 적절한 것은?

① WHERE ID NOT IN (SELECT MIN(ID) FROM T GROUP BY NAME) ② WHERE ID NOT IN (SELECT MAX(ID) FROM T GROUP BY ID) ③ WHERE ID NOT IN (SELECT MAX(ID) FROM T GROUP BY NAME) ④ WHERE ID IN (SELECT MAX(ID) FROM T GROUP BY ID)

정답

1

해설

정답: 1. 각 NAME 그룹별 MIN(ID)를 남기고 나머지를 삭제하려면 ID가 그룹별 MIN(ID)에 포함되지 않는 행을 삭제한다.

오답 풀이

  • 1번: 이름별 최소 ID만 보존하는 조건이다.
  • 2번: ID로 GROUP BY하면 각 ID 자체가 반환되어 중복 제거 목적에 맞지 않는다.
  • 3번: 이름별 최대 ID를 남기는 조건이므로 문제 의도와 다르다.
  • 4번: ID별 MAX(ID)는 사실상 모든 ID가 대상이 될 수 있어 부적절하다.

보충 개념 중복 데이터 삭제에서는 보존 기준을 먼저 정해야 한다. 보통 그룹별 MIN(ID) 또는 MAX(ID)를 남기고 나머지를 삭제한다.

SQL 개발자 자격증 SQL 활용 다른 기출문제

SQL 개발자 자격증 시험 준비 가이드

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

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

[SQL 개발자 자격증] 중복 삭제 SQL 활용 기출 #3757 | 문어CBT