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

SQLD 제약조건 기출문제 #138

문제

다음 DDL과 DML 실행 후 STUDENT 테이블의 최종 레코드 수는?

SQL
CREATE TABLE STUDENT ( STU_ID INT PRIMARY KEY, STU_NAME VARCHAR(50) NOT NULL, AGE INT CHECK(AGE BETWEEN 18 AND 30), EMAIL VARCHAR(100) UNIQUE );
SQL
INSERT INTO STUDENT VALUES(1, 'KIM', 25, 'kim@test.com'); INSERT INTO STUDENT VALUES(2, 'LEE', 17, 'lee@test.com'); INSERT INTO STUDENT VALUES(3, 'PARK', 22, NULL); INSERT INTO STUDENT VALUES(4, 'CHOI', 28, 'kim@test.com'); INSERT INTO STUDENT VALUES(5, NULL, 20, 'choi@test.com'); INSERT INTO STUDENT VALUES(6, 'JUNG', 25, 'jung@test.com');

① 2건 ② 3건 ③ 4건 ④ 6건

정답

2

해설

각 INSERT문을 분석하면: ① 1번: 성공 (모든 제약조건 만족). ② 2번: 실패 (CHECK 제약조건 위반, AGE=17은 18~30 범위를 벗어남). ③ 3번: 성공 (EMAIL이 NULL이지만 UNIQUE 제약조건은 NULL 허용). ④ 4번: 실패 (UNIQUE 제약조건 위반, 'kim@test.com'이 1번과 중복). ⑤ 5번: 실패 (NOT NULL 제약조건 위반, STU_NAME이 NULL). ⑥ 6번: 성공 (모든 제약조건 만족). 따라서 1번, 3번, 6번만 성공하여 총 3건이 삽입됩니다.

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

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

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