본문 바로가기

MySQL

쇼핑몰과 카테고리 1단계

tb_categories
Field Name
Data Type
Description
value
category_id
int
카테고리 고유 ID
1, 2, 3, 4,
category_name
varchar(100)
카테고리 이름
"상의", "하의", "아우터"
create table tb_categories(
	category_id int auto_increment primary key,
    category_name varchar(100) not null
);

insert into tb_categories(category_name) values('상의');
insert into tb_categories(category_name) values('하의');
insert into tb_categories(category_name) values('아우터');


create table tb_products(
	product_id int auto_increment primary key,
    product_name varchar(255),
    category_id int,
    price decimal(10, 2),
    size enum('S', 'M', 'L', 'XL'),
    color varchar(50),
    foreign key(category_id) references tb_categories(category_id) 
);

select * from tb_categories;
select * from tb_products;

insert into tb_products(product_name, category_id, price, size, color)
values('티셔츠', 1, 19900, 'M', '흰색');

insert into tb_products(product_name, category_id, price, size, color)
values('청바지', 2, 49000, 'L', '연청');

insert into tb_products(product_name, category_id, price, size, color)
values('자켓', 3, 79000, 'L', '검정색');

insert into tb_products(product_name, category_id, price, size, color)
values('셔츠', 1, 30000, 'S', '보라색');

-- 특정 카테고리에 속하는 모든 상품을 조회하는 쿼리
select p.product_name, p.price, p.size, p.color
from tb_products p
join tb_categories c
on p.category_id = c.category_id
where c.category_name = '상의';

 

테이블 관계

  • tb_categories 와 tb_products 는 일대다 관계( 1 : N )다. 각 카테고리는 여러 상품을 포함할 수 있으며, 각 상품은 하나의 카테고리에만 속한다.
728x90

'MySQL' 카테고리의 다른 글

서브 쿼리 ( subquery )  (0) 2024.06.13
쇼핑몰과 카테고리 2단계  (0) 2024.06.12
쇼핑몰 서비스의 DB 구축  (0) 2024.06.12
블로그 서비스의 DB 구축  (0) 2024.06.12
SELF JOIN  (0) 2024.06.11