๐Ÿ—๏ธPROGRAMMERS/SQL

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

๋น™๋””์šฉ 2024. 4. 19.

์‹œ์šฉ์–ธ์–ด : MYSQL

LEVEL : 1

๋ฌธ์ œ : ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ์ค‘๊ณ ๊ฑฐ๋ž˜ ๋Œ“๊ธ€ ์กฐํšŒํ•˜๊ธฐ

 

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

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

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 PUBLISHED_DATE
FROM USED_GOODS_BOARD A
JOIN USED_GOODS_REPLY B
ON A.BOARD_ID = B.BOARD_ID
WHERE A.CREATED_DATE LIKE ('2022-10-%')
ORDER BY B.CREATED_DATE, A.TITLE;

- PUBLISHED_DATE์˜ ํƒ€์ž…์ด 'YYYY-MM-DD'ํ˜•์‹์ด๋ผ DATE_FORMAT์„ ์‚ฌ์šฉํ•ด ์กฐ๊ฑด์— ๋งž์ถฐ ์ˆ˜์ •

- USED_GOODS_BOARD์™€ USED_GOODS_REPLY๋ฅผ ํ•จ๊ป˜ ํ™•์ธํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‘ ํ…Œ์ด๋ธ”์˜ ๊ณตํ†ต์ธ BOARD_ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ JOIN์„ ํ†ตํ•ด ํ•ฉ์นจ

- 2022๋…„ 10์›”์— ์ž‘์„ฑ๋œ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ์ด ์กฐ๊ฑด์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ WHERE์ ˆ ์ƒ์„ฑ

- ์ •๋ ฌ์กฐ๊ฑด์ด ๋Œ“๊ธ€ ์ž‘์„ฑ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ,  ๋Œ“๊ธ€ ์ž‘์„ฑ์ผ์ด ๊ฐ™๋‹ค๋ฉด ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ORDER BY์ ˆ ์ƒ์„ฑ

ํ›„๊ธฐ

- JOIN์€ ์ •๋ง ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜๊ธฐ ๋•Œ๋ฌธ์— ํ™•์‹คํ•˜๊ฒŒ ์ˆ™์ง€ํ•ด๋‘์ž

๋Œ“๊ธ€