세팅
데이터베이스 | test6 |
테이블 | subscriptions |
컬럼 | ![]() |
INSERT INTO subscriptions (user_name, plan_name, start_date, end_date, status, price) VALUES
('김철수', 'Premium', '2023-01-01', '2023-12-31', 'Active', 12000),
('이영희', 'Basic', '2023-06-01', '2023-11-30', 'Expired', 6000),
('박준혁', 'Standard', '2023-07-01', '2023-12-31', 'Active', 9000),
('최수진', 'Premium', '2023-01-01', '2023-12-31', 'Active', 12000),
('정우진', 'Basic', '2023-02-01', '2023-07-31', 'Expired', 6000),
('한지수', 'Standard', '2023-03-01', '2023-08-31', 'Expired', 9000),
('김지훈', 'Premium', '2023-04-01', '2023-12-31', 'Active', 12000),
('이민영', 'Basic', '2023-05-01', '2023-10-31', 'Expired', 6000),
('장서현', 'Standard', '2023-06-01', '2023-12-31', 'Active', 9000),
('박다연', 'Premium', '2023-01-01', '2023-12-31', 'Active', 12000);
-- 상태확인
SELECT *
FROM subscriptions s ;
-- 신규 구독자 추가
INSERT INTO subscriptions (user_name,plan_name,start_date,end_date,status,price )
values("유진우",'Standard','2023-09-01','2024-08-31','Active',9000);
-- 구독이 만료된 사용자들의 이름과 플랜이름, 종료일을 조회하세요.
SELECT user_name ,plan_name ,end_date
FROM subscriptions s
where status='Expired';
-- 구독요금이 8000 이상인 사용자 이름과 구독 요금을 조회하세요
SELECT user_name ,price
FROM subscriptions s
WHERE price>=8000;
-- 사용자 이영희의 상태를 Active로 변경하고 종료일을 2023-12-31로 업데이트 하세요
UPDATE subscriptions
set status ='Active',end_date ='2023-12-31'
where user_name ='이영희';
-- 모든 Premium플랜의 구독 요금을 13000으로 업데이트 하세요
UPDATE subscriptions
set price =13000
where plan_name ="premium";
-- 상태가 'Expired'인 모든 구독 데이터를 삭제하세요.
DELETE FROM subscriptions
WHERE status ='Expired';
-- 사용자 이름과 플랜 이름을 조합하여 '김철수-Premium'형식으로 출력하세요.
SELECT concat(user_name ,'-',plan_name )user_plan
FROM subscriptions s ;
-- 각 사용자의 플랜 이름에서 첫 3글자만 출력하세요
SELECT SUBSTR(plan_name,1,3)as plan3
FROM subscriptions s ;
* 실무에서는 date보다 timestamp로 쓰는편이라고 하니 습관화하기