테이블 분리
- 데이터의 중복을 피하고 효율적인 데이터 관리를 위해 1개의 테이블은 부족
- 성격이 비슷한 정보끼리 따로 떼어 새로운 테이블로 만들어 관리
→ 정보간의 의존도가 줄어들어 좀 더 효율적으로 데이터를 관리할 수 있음
다음과 같이 3개의 테이블이 있음
이 테이블을 이용하여 다음 문제를 풀어보자
1. 손흥민의 주문 개수는?
SELECT COUNT(*)
FROM t_order
INNER JOIN t_user
ON t_order.userNo = t_user.id
WHERE t_user.userName = '손흥민';
2. 손흥민이 산 상품은?
SELECT p.pname, COUNT(*)
FROM t_order AS o
INNER JOIN t_user AS u
ON o.userNo = u.id
INNER JOIN t_product AS p
ON o.productNo = p.id
WHERE u.userName = '손흥민'
GROUP BY u.id, p.id;
3. 스커트를 산 사람은?
SELECT DISTINCT userName
FROM t_order AS o
INNER JOIN t_user AS u
ON o.userNo = u.id
INNER JOIN t_product AS p
ON o.productNo = p.id
WHERE p.pname = '스커트';
4. 가장 많이 주문한 사람의 아이디와 이름, 주문개수는?
SELECT userId, userName, COUNT(*) AS cnt
FROM t_order AS o
INNER JOIN t_user AS u
ON o.userNo = u.id
INNER JOIN t_product AS p
ON o.productNo = p.id
GROUP BY u.id
ORDER BY cnt DESC;
5. 소지섭이 사용한 총 금액은?
SELECT *
FROM t_order AS o
INNER JOIN t_user AS u
ON o.userNo = u.id
INNER JOIN t_product AS p
ON o.productNo = p.id
WHERE u.userName = '소지섭';
'Back-End Study > DBMS' 카테고리의 다른 글
셀프 조인, 서브 쿼리 실습 (0) | 2022.08.29 |
---|---|
SELF JOIN 과 서브 쿼리 (0) | 2022.08.29 |
SQL JOIN (0) | 2022.08.26 |
SQL 활용3 (0) | 2022.08.25 |
SQL 활용2 (0) | 2022.08.23 |