if(조건, true-value, false-value) 구문을 사용하여 간단한 조건 분기를 처리합니다.
다중 조건을 처리하기 위해 CASE문을 사용하며, WHEN, THEN, ELSE를 활용하여 다양한 조건에 따른 결과를 반환합니다.
-- 예시: 급여 등급에 따른 자치회비 차별
SELECT
사번,
이름,
급여,
CASE
WHEN 급여 >= 3000 THEN FLOOR(급여 * 0.1)
WHEN 급여 >= 2000 THEN FLOOR(급여 * 0.05)
ELSE FLOOR(급여 * 0.02)
END AS 자치회비
FROM 직원
테이블을 설계할 때, 필수 컬럼을 먼저 배치하고, 그 후 조건 대상 컬럼을 추가하는 방식으로 컬럼 순서를 정합니다.
CREATE TABLE member (
User_id INT PRIMARY KEY AUTO_INCREMENT,
User_name VARCHAR(30) NOT NULL,
Age INT CHECK(age >= 19),
Join_date TIMESTAMP DEFAULT NOW(),
Nickname VARCHAR(30)
);
CREATE TABLE book_rental (
Isbn VARCHAR(20) PRIMARY KEY,
book_title VARCHAR(200) NOT NULL,
rental_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
return_date TIMESTAMP,
user_id INT,
FOREIGN KEY (user_id) REFERENCES member(User_id)
);
데이터베이스 테이블을 수정할 때는 컬럼 추가, 변경, 삭제 등을 고려해야 하며, 변경 전 데이터가 없는 경우와 있는 경우에 따라 다르게 처리됩니다.
-- 컬럼 추가 예시
ALTER TABLE member ADD COLUMN email VARCHAR(100);
-- 컬럼 삭제 예시
ALTER TABLE member DROP COLUMN nickname;
테이블 구조 변경 시 제약을 추가하거나, 기존 제약을 변경할 수 있습니다. 예를 들어, UNIQUE 제약을 추가하거나, CHECK 제약을 수정하는 방법을 다룹니다.
-- 제약 추가 예시
ALTER TABLE member ADD CONSTRAINT unique_email UNIQUE(email);