๐ซ ๋ฌธ์
๐ซ CODE
SELECT a.AUTHOR_ID, b.AUTHOR_NAME, a.CATEGORY, SUM(c.SALES * a.PRICE) AS TOTAL_SALES
FROM BOOK a
JOIN AUTHOR b ON a.AUTHOR_ID = b.AUTHOR_ID
JOIN BOOK_SALES c ON a.BOOK_ID = c.BOOK_ID
WHERE c.SALES_DATE >= '2022-01-01' AND c.SALES_DATE < '2022-02-01'
GROUP BY b.AUTHOR_ID, b.AUTHOR_NAME, a.CATEGORY
ORDER BY b.AUTHOR_ID ASC, a.CATEGORY DESC;
ย
๐ซ ํ์ด ์กฐ๊ฑด
1. 2022๋ 1์์ ๋์ ํ๋งค ๋ฐ์ดํฐ ๊ธฐ์ค
2. ์ ์ ID(AUTHOR_ID), ์ ์๋ช (AUTHOR_NAME), ์นดํ ๊ณ ๋ฆฌ(CATEGORY), ๋งค์ถ์ก(TOTAL_SALES = ํ๋งค๋ * ํ๋งค๊ฐ) ์กฐํ
3. ์ ์ ID๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก, ์ ์ ID๊ฐ ๊ฐ๋ค๋ฉด ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
ย
๐ซ ํ์ด
1. SELECT a.AUTHOR_ID, b.AUTHOR_NAME, a.CATEGORY, SUM(c.SALES * a.PRICE) AS TOTAL_SALES
- BOOK ํ ์ด๋ธ์ ์ ์ ID(AUTHOR_ID), AUTHOR ํ ์ด๋ธ์ ์ ์๋ช (AUTHOR_NAME), BOOK ํ ์ด๋ธ์ ์นดํ ๊ณ ๋ฆฌ(CATEGORY), ๋งค์ถ์ก(TOTAL_SALES = BOOK_SALES ํ ์ด๋ธ์ ํ๋งค๋(SALES) * BOOK ํ ์ด๋ธ์ ํ๋งค๊ฐ(PRICE)) ์กฐํ
- AS๋ฅผ ์ด์ฉํ์ฌ SUM(c.SALES * a.PRICE)์ ๋ณ์นญ์ TOTAL_SALES๋ก ์ง์
2. FROM BOOK a
- BOOK ํ ์ด๋ธ์ ๋ณ์นญ์ a๋ก ์ง์
3. JOIN AUTHOR b ON a.AUTHOR_ID = b.AUTHOR_ID
- JOIN์ ์ด์ฉํ์ฌ AUTHOR ํ ์ด๋ธ ์กฐ์ธ
- AUTHOR ํ ์ด๋ธ์ ๋ณ์นญ์ b๋ก ์ง์
- a.AUTHOR_ID = b.AUTHOR_ID ๊ณต์ ํ๊ณ ์๋ ์ปฌ๋ผ
4. JOIN BOOK_SALES c ON a.BOOK_ID = c.BOOK_ID
- JOIN์ ์ด์ฉํ์ฌ BOOK_SALES ํ ์ด๋ธ ์กฐ์ธ
- BOOK_SALES ํ ์ด๋ธ์ ๋ณ์นญ์ c๋ก ์ง์
- a.BOOK_ID = c.BOOK_ID ๊ณต์ ํ๊ณ ์๋ ์ปฌ๋ผ
5. WHERE c.SALES_DATE >= '2022-01-01' AND c.SALES_DATE < '2022-02-01'
- ์กฐ๊ฑด : BOOK_SALES ํ ์ด๋ธ์ ํ๋งค์ผ(SALES_DATE)์ด '2022-01-01' ์ด์, '2022-02-01'๋ฏธ๋ง์ธ ๊ฒฝ์ฐ
6. GROUP BY b.AUTHOR_ID, b.AUTHOR_NAME, a.CATEGORY
- ์ ์ ID(AUTHOR_ID), AUTHOR ํ ์ด๋ธ์ ์ ์๋ช (AUTHOR_NAME), BOOK ํ ์ด๋ธ์ ์นดํ ๊ณ ๋ฆฌ(CATEGORY) ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ง๊ณ
7. ORDER BY b.AUTHOR_ID ASC, a.CATEGORY DESC
- BOOK ํ ์ด๋ธ์ ์ ์ ID(AUTHOR_ID)๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์, BOOK ํ ์ด๋ธ์ ์ ์ ID(AUTHOR_ID)๊ฐ ๊ฐ๋ค๋ฉด BOOK ํ ์ด๋ธ์ ์นดํ ๊ณ ๋ฆฌ(CATEGORY)๋ฅผ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ