-
[Insert, Select, Update, Delete] 응용하기 문제해결 예행연습 SQL🐬 MySQL/MySQL 실습문제 2024. 11. 27. 15:42728x90
지금까지 배운 SQL Insert, Select, Update, Delete 를 이용하여 아래 문제를 풀어보도록 하겠습니다.
문제풀이용 데이터 다운로드
( 파일 다운로드 후 메모장에 있는 텍스트를 기준으로 INSERT 및 기타 문제 풀이 진행 하시기 바랍니다.)
product 테이블스키마
id 제품고유ID(프라이머리 키, 자동증가)
product_name 제품명(문자열, 최대100자)
category 제품 카테고리(문자열,최대50자)
price 제품가격(정수형)
stock_quantity 재고수량(정수형)
created_at 제품등록일(날짜)1. product 테이블의 모든 데이터를 조회하는 쿼리를 작성하세요
2. 카테고리가 "전자제품인"인 제품만 조회하는 쿼리를 작성하세요
3. 새로운 제품 "소니헤드폰", 카테고리"전자제품", 가격 150,000원, 재고 수량 25개 추가하세요
4. 가격이 100,000원 이상 500,000원 이하인 제품을 조회하세요
5. 이름이 "LG 냉장고"인 제품의 이름을 "LG 양문형 냉장고로"로 수정하세요
6. 제품 이름이 "코카콜라"인 제품을 삭제하는 쿼리를 작성하세요
7. 제품 이름이 "삼성 스마트폰"인 제품의 재고 수량을 70개로 업데이트 하세요
8. 2023년 6월 1일 이후에 등록된 제품만 조회하세요
9. 모든 제품의 가격을 5% 인상하는 쿼리를 작성하세요
10. 카테고리가 "패션"인 제품의 가격을 10% 낮추는 쿼리를 작성하세요
11. 재고 수량이 100개 이상인 제품을 조회하세요
12. 제품명 "LG 양문형 냉장고"의 등록일을 "2023-02-01"로 변경하세요
product 테이블의 모든 데이터를 조회하는 쿼리를 작성하세요
SELECT *
FROM product;
카테고리가 "전자제품인"인 제품만 조회하는 쿼리를 작성하세요
SELECT * [모든 컬럼]
from product [product 테이블]
WHERE category="전자제품"; [category 컬럼안에 있는 데이터 중 전자제품인 데이터만]
새로운 제품 "소니헤드폰", 카테고리"전자제품", 가격 150,000원, 재고 수량 25개 추가하세요
INSERT INTO product(product_name, category, price, stock_quantity)
values('소니헤드폰', '전자제품', 150000, 25);
가격이 100,000원 이상 500,000원 이하인 제품을 조회하세요
SELECT *
from product
WHERE price>=100000 [price 컬럼에서 100000 이상의 데이터만]
and price<=500000 [price 컬럼에서 500000 이하의 데이터만]
이름이 "LG 냉장고"인 제품의 이름을 "LG 양문형 냉장고로"로 수정하세요
UPDATE product
SET product_name="LG 양문형 냉장고"
where product_name="LG 냉장고";
제품 이름이 "코카콜라"인 제품을 삭제하는 쿼리를 작성하세요
DELETE FROM product
WHERE product_name="코카콜라";
제품 이름이 "삼성 스마트폰"인 제품의 재고 수량을 70개로 업데이트 하세요
UPDATE product
set stock_quantity=70
where product_name="삼성 스마트폰";
2023년 6월 1일 이후에 등록된 제품만 조회하세요
SELECT *FROM product
WHERE created_at>"2023-06-01";
모든 제품의 가격을 5% 인상하는 쿼리를 작성하세요
UPDATE product
set price=price*1.05
where price;
카테고리가 "패션"인 제품의 가격을 10% 낮추는 쿼리를 작성하세요
UPDATE product
set price=price*0.9
where category="패션";
1. SELECT *
- *****는 테이블의 **모든 열(column)**을 가져온다는 뜻이에요.
예를 들어, 테이블에 name, price, category라는 열이 있다면, 이 세 열의 데이터를 전부 선택하겠다는 뜻이에요.
2. FROM product
- **product**라는 이름의 테이블에서 데이터를 가져오겠다는 뜻이에요.
3. WHERE price >= 100000 AND price <= 500000
- **WHERE**는 조건을 지정하는 부분이에요. 여기서는 **가격(price)**에 대한 조건을 걸고 있어요.
- price >= 100000: 가격이 100,000원 이상인 데이터만 가져오고,
- price <= 500000: 가격이 500,000원 이하인 데이터만 가져와요.
- **AND**는 두 조건을 동시에 만족해야 한다는 뜻이에요.
재고 수량이 100개 이상인 제품을 조회하세요
SELECT stock_quantity
from product
WHERE stock_quantity >=100;
제품명 "LG 양문형 냉장고"의 등록일을 "2023-02-01"로 변경하세요
UPDATE product
set created_at="2023-02-01"
where product_name="LG 양문형 냉장고";
728x90'🐬 MySQL > MySQL 실습문제' 카테고리의 다른 글
CHAR_LENGTH() 함수를 이용한 연습문제 10개 (0) 2024.12.01 SQL UPPER()와 LOWER() 함수를 이용한 연습문제 10개 (0) 2024.11.30 SQL CONCAT() 함수를 이용한 연습문제 10개 (0) 2024.11.30 SQL SUBSTRING() 함수를 이용한 연습문제 10개 (0) 2024.11.30 [SQL] 200개의 테이터 및 30문제 (1) 2024.11.28 - *****는 테이블의 **모든 열(column)**을 가져온다는 뜻이에요.