문제
다음 중 쿼리문의 구문 형식이 옳지 않은 것은?
① insert into member(id, password, name, age) values('a001', '1234', 'kim', 20); ② update member set age=17 where id='a001'; ③ select * distinct from member where age=17; ④ delete from member where id='a001';
정답
3번
해설
정답: 3. DISTINCT는 SELECT 바로 뒤에 와야 한다. 올바른 형식은 ‘SELECT DISTINCT * FROM member …’이다. ‘select * distinct’처럼 * 다음에 DISTINCT를 쓰는 것은 문법 오류이다.
오답 풀이
- 1번: INSERT INTO 테이블(열목록) VALUES(값목록) 형식이 올바르므로 옳다.
- 2번: UPDATE 테이블 SET 열=값 WHERE 조건 형식이 올바르므로 옳다.
- 3번: DISTINCT의 위치가 잘못되어 구문 형식이 옳지 않다.
- 4번: DELETE FROM 테이블 WHERE 조건 형식이 올바르므로 옳다.
보충 개념 SELECT 문의 기본 구조: SELECT [DISTINCT] 열목록 FROM 테이블 [WHERE 조건]. DISTINCT는 중복 행을 제거하며 SELECT 키워드 바로 뒤에 위치한다.