T(ID, NAME)에서 ID는 숫자형 기본키이고 NAME은 NULL이 없는 문자열이다. 이름별로 ID가 가장 작은 행 하나만 남기려 할 때, DELETE FROM T 뒤에 붙일 조건은?
정답 4번
ID가 기본키이므로 모든 행의 ID가 서로 다르고 NULL도 없다. GROUP BY NAME으로 이름별 최소 ID를 구하면 보존할 행의 ID 목록이 된다. NOT IN은 그 목록에 없는 나머지 행을 골라 삭제한다. ID에 NOT NULL만 지정하고 중복을 허용하면, 다른 이름의 최소 ID와 같은 값을 가진 행까지 남을 수 있어 충분하지 않다.
자료 정보
- 자료 유형
- 편집복원
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-10-06