입력 데이터

문제
다음 SQL 문장의 실행 결과로 가장 적절한 것은 무엇인가?
보기 [SQL] CREATE TABLE EMP ( HNO VARCHAR2(10) PRIMARY KEY, HNAME VARCHAR2(50), H_ID NUMBER(5) NOT NULL ); INSERT INTO EMP (HNO, HNAME, H_ID) VALUES ('E123', '김서준', NULL);
  1. 선택지 1 테이블 생성과 데이터 삽입이 모두 성공한다.
  2. 선택지2 테이블 생성은 성공하지만 데이터 삽입은 실패한다.
  3. 선택지3 테이블 생성이 실패한다.
  4. 선택지 4 테이블 생성과 데이터 삽입이 모두 실패한다.
정답
2
해설
정답은 2번입니다. 이 문제는 NOT NULL 제약조건과 INSERT 시 데이터 유효성 검사를 이해하는 것이 핵심입니다. CREATE TABLE 문은 문법적으로 문제가 없으므로 정상적으로 실행되어 테이블이 생성됩니다. 하지만 INSERT 문에서는 H_ID 컬럼에 NULL 값을 넣고 있습니다. H_ID는 NOT NULL 제약조건이 설정되어 있기 때문에 NULL 값이 들어갈 수 없습니다. 따라서 INSERT 구문은 제약조건 위반으로 인해 실행에 실패합니다. 1. 테이블 생성과 데이터 삽입이 모두 성공한다. : NOT NULL 제약조건을 위반하므로 데이터 삽입은 실패합니다. 틀린 설명입니다. 2. 테이블 생성은 성공하지만 데이터 삽입은 실패한다. : CREATE TABLE은 정상 실행되고, INSERT는 NOT NULL 위반으로 실패하므로 올바른 설명입니다. 3. 테이블 생성이 실패한다. : CREATE TABLE 구문에는 오류가 없으므로 틀린 설명입니다. 4. 테이블 생성과 데이터 삽입이 모두 실패한다. : 테이블은 정상적으로 생성되므로 틀린 설명입니다. 이 문제의 핵심은 NOT NULL 제약조건이 INSERT 시점에 검증된다는 점입니다. 정답인 2번은 테이블 생성과 데이터 삽입의 결과를 정확히 구분하고 있으며, 나머지 선지들은 제약조건 적용 시점을 잘못 이해한 경우입니다. 따라서, 정답은 '2. 테이블 생성은 성공하지만 데이터 삽입은 실패한다.' 입니다.
12390번

1차 문제 검수

SQD SQL 기본 및 활용 관리구문 DDL
문제
보기
[SQL] CREATE TABLE EMP ( HNO VARCHAR2(10) PRIMARY KEY, HNAME VARCHAR2(50), H_ID NUMBER(5) NOT NULL ); INSERT INTO EMP (HNO, HNAME, H_ID) VALUES ('E123', '김서준', NULL);
선택지1
선택지2
선택지3
선택지4
정답
키워드
키워드
해설
비기봇 해설