다음 테이블을 만든 뒤 ㉠~㉣을 각각 실행할 때 제약조건 위반으로 실패… | [SQLD] SQL 개발자 기출유형 모의고사 1회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 1회
다음 테이블을 만든 뒤 ㉠~㉣을 각각 실행할 때 제약조건 위반으로 실패하는 것은?
CREATE TABLE 회원 (
  회원번호 INT PRIMARY KEY,
  이메일   VARCHAR(50) UNIQUE,
  이름     VARCHAR(20) NOT NULL,
  나이     INT CHECK (나이 >= 14)
);
INSERT INTO 회원 VALUES (1, 'a@mail.com', '서윤', 20);

㉠ INSERT INTO 회원 VALUES (2, NULL, '도하', 30);
㉡ INSERT INTO 회원 VALUES (3, 'b@mail.com', '이안', 14);
㉢ INSERT INTO 회원 VALUES (4, 'c@mail.com', NULL, 25);
㉣ INSERT INTO 회원 VALUES (5, 'd@mail.com', '나린', NULL);
1
㉠
2
㉢
3
㉡
4
㉣
해설

이름 열에 NOT NULL 제약이 있으므로 이름에 NULL 을 넣는 ㉢은 실패한다.

UNIQUE 열에는 NULL 을 넣을 수 있고, CHECK 조건은 결과가 거짓일 때만 거부하므로 NULL 처럼 판단할 수 없는 값은 통과한다.

  • ㉠은 이메일이 NULL 이지만 UNIQUE 는 NULL 입력을 막지 않는다.
  • ㉡은 나이 14가 이상 조건의 경계값이라 CHECK 를 만족한다.
  • ㉣은 나이가 NULL 이라 CHECK 결과가 UNKNOWN 으로 통과된다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 1회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기