반응형
이 문제는 테이블 생성 시 PRIMARY KEY와 NOT NULL 조건과 INSERT 문의 VALUES에 대해서 미리 알고 있어야 풀 수 있습니다.
문제
아래 테이블에 삽입이 성공하는 SQL를 고르세요.
CREATE TABLE EMP
(
EMP_ID NUMBER PRIMARY KEY,
EMP_AMT NUMBER NOT NULL,
EMP_DIV VARCHAR2(1)
)
------------------------------------------------------------------
1. INSERT INTO EMP VALUES (1,100)
2. INSERT INTO EMP (EMP_ID, EMP_AMT, EMP_DIV) VALUES (2,200,'AB')
3. INSERT INTO EMP (EMP_ID, EMP_DIV) VALUES (3,'X')
4. INSERT INTO EMP (EMP_ID, EMP_AMT) VALUES (4,300)
5. INSERT INTO EMP VALUES (5,500,NULL)
문제풀이
- PRIMARY KEY 컬럼은 반드시 값을 넣어야 한다.
- INSERT 문에서 컬럼을 지정하지 않은 VALUES는 컬럼의 모든 값을 지정해야 한다.
- NOT NULL 컬럼은 NULL을 삽입할 수 없다.
1. INSERT INTO EMP VALUES (1,100)
>> 컬럼을 지정하지 않으면 EMP TABLE의 모든 컬럼을 입력해야 한다.
2. INSERT INTO EMP (EMP_ID, EMP_AMT, EMP_DIV) VALUES (2,200,'AB')
>> EMP_DIV 컬럼은 VARCHAR2(1)이므로 문자 1글자만 입력이 가능하다.
3. INSERT INTO EMP (EMP_ID, EMP_DIV) VALUES (3,'X')
>> EMP_AMT가 NOT NULL 제약 조건이 있어서 반드시 입력해야 한다.
4. INSERT INTO EMP (EMP_ID, EMP_AMT) VALUES (4,300)
>> 문제 없이 삽입 가능
5. INSERT INTO EMP VALUES (5,500,NULL)
>> 문제 없이 삽입 가능 ( 테이블 생성 시 NULL, NOT NULL 제약조건을 지정하지 않으면 NULL이 DEFAULT 설정)
오늘은 테이블의 제약 조건에 따른 INSERT 문의 문법에 대해서 풀어봤습니다.
추가적인 궁금증은 댓글로 달아주세요!! :)
반응형
'SQL' 카테고리의 다른 글
SQL 강의 SQLP SQLD 기출 문제 - 006 ( ORACLE AUTO COMMIT ) (0) | 2022.10.10 |
---|---|
SQL 강의 SQLP SQLD 기출 문제 - 005 / 데이터 타입, 묵시적 형변환 (0) | 2022.10.08 |
SQL 강의 SQLP SQLD 기출 문제 - 004 / 다중 IN 조건 이해 (0) | 2022.10.07 |
SQL 강의 SQLP SQLD 기출 문제 - 003 / ORACLE OUTER JOIN 이해 (0) | 2022.10.06 |
SQL 강의 SQLP SQLD 기출 문제 - 002 ( NULL, CASE, DECODE, NVL 이해 ) (0) | 2022.10.06 |
댓글