๐ป ๋ฌธ์ ์ฃผ์ : https://school.programmers.co.kr/learn/courses/30/lessons/164673
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๐ป ๋ฌธ์ ์ค๋ช
๋ค์์ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์ํ ์ ๋ณด๋ฅผ ๋ด์ USED_GOODS_BOARD ํ ์ด๋ธ๊ณผ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์ํ ์ฒจ๋ถํ์ผ ์ ๋ณด๋ฅผ ๋ด์ USED_GOODS_REPLY ํ ์ด๋ธ์ ๋๋ค. USED_GOODS_BOARD ํ ์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEW์ ๊ฒ์๊ธ ID, ์์ฑ์ ID, ๊ฒ์๊ธ ์ ๋ชฉ, ๊ฒ์๊ธ ๋ด์ฉ, ๊ฐ๊ฒฉ, ์์ฑ์ผ, ๊ฑฐ๋์ํ, ์กฐํ์๋ฅผ ์๋ฏธํฉ๋๋ค.
Column name | Type | Nullable |
BOARD_ID | VARCHAR(5) | FALSE |
WRITER_ID | VARCHAR(50) | FALSE |
TITLE | VARCHAR(100) | FALSE |
CONTENTS | VARCHAR(1000) | FALSE |
PRICE | NUMBER | FALSE |
CREATED_DATE | DATE | FALSE |
STATUS | VARCHAR(10) | FALSE |
VIEWS | NUMBER | FALSE |
USED_GOODS_REPLY ํ ์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ REPLY_ID, BOARD_ID, WRITER_ID, CONTENTS, CREATED_DATE๋ ๊ฐ๊ฐ ๋๊ธ ID, ๊ฒ์๊ธ ID, ์์ฑ์ ID, ๋๊ธ ๋ด์ฉ, ์์ฑ์ผ์ ์๋ฏธํฉ๋๋ค.
Column name | Type | Nullable |
REPLY_ID | VARCHAR(10) | FALSE |
BOARD_ID | VARCHAR(5) | FALSE |
WRITER_ID | VARCHAR(50) | FALSE |
CONTENTS | VARCHAR(1000) | TRUE |
CREATED_DATE | DATE | FALSE |
๐ป ๋ฌธ์
USED_GOODS_BOARD์ USED_GOODS_REPLY ํ ์ด๋ธ์์ 2022๋ 10์์ ์์ฑ๋ ๊ฒ์๊ธ ์ ๋ชฉ, ๊ฒ์๊ธ ID, ๋๊ธ ID, ๋๊ธ ์์ฑ์ ID, ๋๊ธ ๋ด์ฉ, ๋๊ธ ์์ฑ์ผ์ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ๊ฒฐ๊ณผ๋ ๋๊ธ ์์ฑ์ผ์ ๊ธฐ์ค์๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์๊ณ , ๋๊ธ ์์ฑ์ผ์ด ๊ฐ๋ค๋ฉด ๊ฒ์๊ธ ์ ๋ชฉ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
๐ป ์ฝ๋ ๋ฐ ํ์ด
select board.TITLE, board.BOARD_ID, reply.REPLY_ID, reply.WRITER_ID, reply.CONTENTS, date_format(reply.created_date, '%Y-%m-%d') as CREATED_DATE
from used_goods_board board
join used_goods_reply reply
on board.board_id = reply.board_id
where month(board.created_date) = 10
order by reply.created_date, board.title
* USED_GOODS_BOARD = board
* USED_GOODS_REPLY = reply
โท ์กฐ๊ฑด
1) 2022๋ 10์์ ์์ฑ๋ ๊ฒ์๊ธ ์ ๋ชฉ : month(board.created_date) = 10
2) ๊ฒ์๊ธ ์ ๋ชฉ, ๊ฒ์๊ธ ID, ๋๊ธ ID, ๋๊ธ ์์ฑ์ ID, ๋๊ธ ๋ด์ฉ, ๋๊ธ ์์ฑ์ผ ์กฐํ : select board.TITLE, board.BOARD_ID, reply.REPLY_ID, reply.WRITER_ID, reply.CONTENTS, date_format(reply.created_date, '%Y-%m-%d) as CREATED_DATE
* date_format(a, b) : a๋ฅผ b ํ์์ ๋ง๊ฒ ๋ฆฌํดํ๋ ํจ์. ๋ณธ๋ฌธ์์๋ '2022-10-05'์ ๊ฐ์ ํํ๋ฅผ ์์ฒญํ๊ธฐ์ '%Y(๋๋ฌธ์)-%m-%d' ์์ฑ ํ์
3) ๋๊ธ ์์ฑ์ผ ์ค๋ฆ์ฐจ์, ๊ฒ์๊ธ ์ ๋ชฉ ์ค๋ฆ์ฐจ์ : order by reply.created_date, board.title -- asc ์๋ต ๊ฐ๋ฅ