SQLDSQL 기본제약조건난이도 2MCQ

SQLD 제약조건 기출문제 #132

문제

다음 DDL 실행 후 INSERT문들의 결과로 가장 적절한 것은?

SQL
CREATE TABLE DEPT(DEPTNO INT PRIMARY KEY, DNAME VARCHAR(20) UNIQUE);
SQL
CREATE TABLE EMP(EMPNO INT PRIMARY KEY, ENAME VARCHAR(20) NOT NULL, DEPTNO INT REFERENCES DEPT(DEPTNO), SAL INT CHECK(SAL > 0));
SQL
INSERT INTO DEPT VALUES(10, 'SALES'); INSERT INTO DEPT VALUES(20, NULL); INSERT INTO EMP VALUES(1001, 'KIM', 10, 3000); INSERT INTO EMP VALUES(1002, 'LEE', 30, 2500); INSERT INTO EMP VALUES(1003, 'PARK', 20, -1000); INSERT INTO EMP VALUES(1004, NULL, 10, 1500);

① DEPT 2건, EMP 1건 삽입 ② DEPT 2건, EMP 2건 삽입 ③ DEPT 1건, EMP 2건 삽입 ④ DEPT 2건, EMP 3건 삽입

정답

1

해설

DEPT 테이블: (10,'SALES') 성공, (20,NULL) 성공 - UNIQUE 제약조건은 NULL을 허용하므로 2건 삽입. EMP 테이블: (1001,'KIM',10,3000) 성공 - 모든 조건 만족, (1002,'LEE',30,2500) 실패 - 외래키 위반(DEPT에 30번 부서 없음), (1003,'PARK',20,-1000) 실패 - CHECK 위반(SAL > 0 조건), (1004,NULL,10,1500) 실패 - NOT NULL 위반(ENAME에 NULL 불허). 따라서 DEPT 2건, EMP 1건 삽입됨.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] 제약조건 SQL 기본 기출 #132 | sqldpass