관리 메뉴

TEAM EDA

[SQL 기초] 5장. 실력 테스트 본문

EDA Study/SQL

[SQL 기초] 5장. 실력 테스트

김현우 2020. 3. 19. 18:52

문제 1. 회원 테이블 추가하기

엘리스 가게에서는 회원가입을 통해 구매한 가격만큼 마일리지 혜택을 주려고 합니다. 이를 위해 customer 테이블을 만들고자 합니다. 지시사항에 맞추어 customer 테이블을 완성해 봅시다.

 

지시사항

  1. 아래와 같은 고객의 정보를 customer테이블에 추가해 봅시다

  2. customer테이블의 모든 컬럼을 출력해 봅시다.

추가해야하는 고객 정보
customer 테이블

풀이 1. 

-- customer 테이블의 내용을 추가합니다.
INSERT INTO customer(id, name, birthday, mileage) VALUES(1, 'Elice', '2010-01-15', 100);
INSERT INTO customer(id, name, birthday, mileage) VALUES(2, 'Cheshire', '2005-03-10', 100);
INSERT INTO customer(id, name, birthday, mileage) VALUES(3, 'Dodo', '2010-04-30', 100);

-- customer 테이블의 내용을 출력합니다.
SELECT * FROM customer

 

문제 2. 회원 테이블 업데이트 하기

엘리스는 지금 막 오늘 판매한 금액의 정산을 완료하였습니다. 이제 정산된 금액을 토대로 회원들의 마일리지를 적립하여야 합니다. 아래 데이터를 보고 회원들의 마일리지가 적립되도록 해 봅시다.

주의사항

  • 본래의 적립금과 새로 적립된 금액을 합쳐 갱신해주어야 합니다.

풀이 2. 

-- 왼쪽 표를 보고 마일리지 적립금을 수정해 봅시다.
UPDATE customer SET mileage = mileage + 1000 WHERE name = 'Elice'; 
UPDATE customer SET mileage = mileage + 200 WHERE name = 'Cheshire'; 
UPDATE customer SET mileage = mileage + 50 WHERE name = 'Dodo'; 

-- customer 테이블의 내용을 출력합니다.
select * from customer;

문제 3. 어린이날 이벤트 대상 찾기

엘리스의 가게에서 어린이날 이벤트를 하려고 합니다. 이벤트는 바로 19살 이하인 손님에게 상품을 주는 것입니다. 이를 위해 대상에 해당하는 손님들의 목록을 찾아야 합니다. 2001년 1월 1일 이후에 태어난 사람의 모든 정보를 출력해 봅시다.

 

풀이 3.

-- 2001년 이후에 태어난 사람을 출력해 봅시다.
SELECT * FROM customer WHERE birthday >= '2001-01-01'

 

문제 4. 마일리지 혜택 정산하기

엘리스는 지금까지 고객들이 적립한 마일리지가 얼마나 되는지가 궁금해졌습니다. 여러분이 엘리스가 고객들의 마일리지 내역을 출력할 수 있도록 도와주세요. 아래 지시사항을 읽고 미션을 수행해 보세요.

 

지시사항

  1. 마일리지는 500원 이상 모아야만 사용할 수 있습니다. 마일리지가 500원 이상인 사람들만 출력해 보세요.

  2. 모든 회원이 가지고 있는 마일리지의 을 출력해 보세요.

  3. 마일리지를 사용할 수 있는 고객들이 가지고 있는 마일리지의 평균을 출력해 보세요.

풀이 4. 

-- 미션에서 요구하는 내용을 출력해 봅시다.
SELECT * FROM customer WHERE mileage >= 500; 
SELECT SUM(mileage) FROM customer; 
SELECT AVG(mileage) FROM customer WHERE mileage >= 500;