๊ด€๋ฆฌ ๋ฉ”๋‰ด

Jerry

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/SQL ๊ณ ๋“์  Kit] ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ์ค‘๊ณ ๊ฑฐ๋ž˜ ๋Œ“๊ธ€ ์กฐํšŒํ•˜๊ธฐ ๋ณธ๋ฌธ

Problem Solving/SQL ๋ฌธ์ œ ํ’€๊ธฐ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/SQL ๊ณ ๋“์  Kit] ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ์ค‘๊ณ ๊ฑฐ๋ž˜ ๋Œ“๊ธ€ ์กฐํšŒํ•˜๊ธฐ

juicyjerry 2023. 11. 6. 10:58
๋ฐ˜์‘ํ˜•

๐Ÿ’ช๋ฌธ์ œ
USED_GOODS_BOARD์™€ USED_GOODS_REPLY ํ…Œ์ด๋ธ”์—์„œ 2022๋…„ 10์›”์— ์ž‘์„ฑ๋œ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ, ๊ฒŒ์‹œ๊ธ€ ID, ๋Œ“๊ธ€ ID, ๋Œ“๊ธ€ ์ž‘์„ฑ์ž ID, ๋Œ“๊ธ€ ๋‚ด์šฉ, ๋Œ“๊ธ€ ์ž‘์„ฑ์ผ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ๋Œ“๊ธ€ ์ž‘์„ฑ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์‹œ๊ณ , ๋Œ“๊ธ€ ์ž‘์„ฑ์ผ์ด ๊ฐ™๋‹ค๋ฉด ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

 

 

๐Ÿ’ช ๋‚˜์˜ ์ •๋‹ต

SELECT a.TITLE, a.BOARD_ID, b.REPLY_ID, b.WRITER_ID, b.CONTENTS, DATE_FORMAT(b.CREATED_DATE, '%Y-%m-%d') AS 'CREATED_DATE'
FROM USED_GOODS_BOARD AS a
INNER JOIN USED_GOODS_REPLY AS b
# ON a.WRITER_ID = b.WRITER_ID 
ON a.BOARD_ID = b.BOARD_ID
WHERE DATE_FORMAT(a.CREATED_DATE, '%Y-%m') = '2022-10'
ORDER BY b.CREATED_DATE ASC, a.TITLE;



 

 

๐Ÿ’ช ๋‹ค๋ฅธ ์ •๋‹ต


<LIKE ํ™œ์šฉ>

SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS, 
DATE_FORMAT(R.CREATED_DATE,"%Y-%m-%d") AS CREATED_DATE
FROM USED_GOODS_BOARD AS B  
INNER JOIN USED_GOODS_REPLY AS R 
ON B.BOARD_ID = R.BOARD_ID 
-- WHERE MONTH(B.CREATED_DATE) = 10
WHERE B.CREATED_DATE like '2022-10%'
ORDER BY R.CREATED_DATE ASC,  B.TITLE ASC;

 

<SUBSTR ํ™œ์šฉ>

SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS, 
DATE_FORMAT(R.CREATED_DATE,"%Y-%m-%d") AS CREATED_DATE
FROM USED_GOODS_BOARD AS B  
INNER JOIN USED_GOODS_REPLY AS R 
ON B.BOARD_ID = R.BOARD_ID 
-- WHERE MONTH(B.CREATED_DATE) = 10
-- WHERE B.CREATED_DATE like '2022-10%'
-- WHERE DATE_FORMAT(B.CREATED_DATE, '%Y-%m') = '2022-10'
WHERE  SUBSTR(B.CREATED_DATE,1,7) = '2022-10'
ORDER BY R.CREATED_DATE ASC,  B.TITLE ASC;

 

<BETWEEN ํ™œ์šฉ>

SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS, 
DATE_FORMAT(R.CREATED_DATE,"%Y-%m-%d") AS CREATED_DATE
FROM USED_GOODS_BOARD AS B  
INNER JOIN USED_GOODS_REPLY AS R 
ON B.BOARD_ID = R.BOARD_ID 
-- WHERE MONTH(B.CREATED_DATE) = 10
-- WHERE B.CREATED_DATE like '2022-10%'
-- WHERE DATE_FORMAT(B.CREATED_DATE, '%Y-%m') = '2022-10'
-- WHERE SUBSTR(B.CREATED_DATE,1,7) = '2022-10'
WHERE B.CREATED_DATE BETWEEN ('2022-10-01') AND ('2022-10-31')
ORDER BY R.CREATED_DATE ASC,  B.TITLE ASC;

 

 

 

๐Ÿ’ช ๋ฐฐ์šด ์ 

- ๋ฌธ์ œ๋ฅผ ๊ผผ๊ผผํžˆ ์ฝ์–ด์•ผ ํ•จ์„ ๋Š๊ผˆ๋‹ค.

- LIKE๋ฌธ์˜ ํ™œ์šฉ, SUBSTR์˜ ํ™œ์šฉ, BETWEEN์˜ ํ™œ์šฉ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๊ตฌ๋ฌธ์„ ํ™œ์šฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค.

 

 

 

๐Ÿ’ช ๋งˆ์น˜๋ฉด์„œ

๋‹ค์Œ์—๋Š” ๋‹ค๋ฅธ ๋ฌธ์ œ๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค!

์•ˆ๋…• :))

 

 

 

 

๋ฐ˜์‘ํ˜•