SQL - 문제 미리보기

문제 1775

medium
여러 컬럼을 대상으로 하는 이름이 있는 CHECK 제약조건을 올바르게 정의한 코드는?
A. ```sql CREATE TABLE Employees ( Name varchar(100), Age int, Salary decimal(10,2), CHECK CHK_Employee (Age >= 18 AND Salary > 0) ); ```
B. ```sql CREATE TABLE Employees ( Name varchar(100), Age int, Salary decimal(10,2), CONSTRAINT CHK_Employee CHECK (Age >= 18 AND Salary > 0) ); ```
C. ```sql CREATE TABLE Employees ( Name varchar(100), Age int, Salary decimal(10,2), NAMED CHK_Employee CHECK (Age >= 18 AND Salary > 0) ); ```
D. ```sql CREATE TABLE Employees ( Name varchar(100), Age int, Salary decimal(10,2), CHECK (Age >= 18 AND Salary > 0) AS CHK_Employee ); ```

정답: B

• 이름이 있는 CHECK 제약조건 문법: ```sql CONSTRAINT 제약조건명 CHECK (조건식) ``` • 제약조건 이름을 지정하는 이유: • 수정이나 삭제 시 이름으로 참조 가능 • 에러 발생 시 명확한 식별 가능 • 여러 CHECK 제약조건이 있을 때 구분 용이 • 2번 코드의 의미: • `Age >= 18`: 18세 이상만 허용 • `Salary > 0`: 급여는 양수만 허용 • `AND`: 두 조건을 모두 만족해야 함 • `CHK_Employee`: 제약조건 이름

💡 학습 팁

이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.