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 |