문제
다음 SQL문에 대한 설명으로 가장 옳은 것은?
DELETE FROM 회원 WHERE 등급='탈퇴';
① <회원> 테이블에서 등급이 ‘탈퇴’인 회원의 레코드를 삭제한다. ② <회원> 테이블에서 등급이 ‘탈퇴’인 회원의 레코드를 조회한다. ③ <회원> 테이블에서 등급 필드 자체를 삭제한다. ④ <회원> 테이블 전체를 삭제한다.
정답
1번
해설
정답: 1. DELETE ... WHERE 조건은 조건을 만족하는 레코드(행)를 삭제한다. 따라서 등급이 ‘탈퇴’인 회원의 레코드만 삭제된다.
오답 풀이
- 1번: 조건에 맞는 레코드를 삭제하므로 옳다.
- 2번: 조회는 SELECT 문이 하는 일이므로 옳지 않다.
- 3번: 필드(열) 삭제는 ALTER TABLE ... DROP으로 하므로 옳지 않다.
- 4번: WHERE 조건이 있으므로 테이블 전체가 아니라 일부 레코드만 삭제된다.
보충 개념 WHERE 절을 생략한 DELETE는 테이블의 모든 레코드를 삭제하지만 테이블 구조는 남는다.