과목 구분 없음9급 지방직 공무원 컴퓨터일반 · 2022년06월18일 · 12/20
12.다음 SQL(Structured Query Language)문으로 생성한 테이블에 내용을 삽입할 때 올바르게 동작하지 않는 SQL 문장은?

1
INSERT INTO Book (ISBN, TITLE, PRICE, AUTHOR) VALUES ('978-89-8914-892-1', '데이터베이스 개론', 20000, '홍길동');
2
INSERT INTO Book VALUES ('978-89-8914-892-2', '데이터베이스 개론', 20000, '2022-06-18', '홍길동');
3
INSERT INTO Book (ISBN, TITLE, PRICE) VALUES ('978-89-8914-892-3', '데이터베이스 개론', 20000);
4
INSERT INTO Book (ISBN, TITLE, AUTHOR) VALUES ('978-89-8914-892-4', '데이터베이스 개론', '홍길동');정답
해설
해당 SQL문을 분석하면 다음과 같다. ISBN을 문자열 17자이며 기본키로 한다. TITLE을 가변 문자열로 30자이며 NULL이면 안된다. PRICE는 정수형이며 NULL이면 안된다. PUBDATE는 날짜형식이다. AUTHOR는 가변 문자열로 30자이다. 1번과 3번의 경우 일부 값이 빠지긴 하였지만 NULL이면 안된다는 조건 및 기본키의 값이 빠진것은 아니기 때문에 오류가 발생하지 않는다. 2번의 경우에는 따로 위치를 지정해주지는 않았지만 테이블에서 정의한 순서로 값들이 들어가기 때문에 ISBN, TITLE, PRICE, PUBDATE, AUTHOR의 값들이 모두 정상적으로 들어간다. 4번의 경우 ISBN, TITLE, AUTHOR의 값이 입력되는데 이 중 PRICE가 NULL이면 안된다는 조건에 위배되어 오류가 발생한다.