[ํ๋ก๊ทธ๋๋จธ์ค level 2] ์กฐ๊ฑด์ ๋ถํฉํ๋ ์ค๊ณ ๊ฑฐ๋ ์ํ ์กฐํํ๊ธฐ
๋ฌธ์ ์ค๋ช
๋ค์์ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์ํ ์ ๋ณด๋ฅผ ๋ด์ USED_GOODS_BOARD ํ ์ด๋ธ์ ๋๋ค. USED_GOODS_BOARD ํ ์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS์ ๊ฒ์๊ธ ID, ์์ฑ์ ID, ๊ฒ์๊ธ ์ ๋ชฉ, ๊ฒ์๊ธ ๋ด์ฉ, ๊ฐ๊ฒฉ, ์์ฑ์ผ, ๊ฑฐ๋์ํ, ์กฐํ์๋ฅผ ์๋ฏธํฉ๋๋ค.
Column nameTypeNullable
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_BOARD ํ ์ด๋ธ์์ 2022๋ 10์ 5์ผ์ ๋ฑ๋ก๋ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์๋ฌผ์ ๊ฒ์๊ธ ID, ์์ฑ์ ID, ๊ฒ์๊ธ ์ ๋ชฉ, ๊ฐ๊ฒฉ, ๊ฑฐ๋์ํ๋ฅผ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ๊ฑฐ๋์ํ๊ฐ SALE ์ด๋ฉด ํ๋งค์ค, RESERVED์ด๋ฉด ์์ฝ์ค, DONE์ด๋ฉด ๊ฑฐ๋์๋ฃ ๋ถ๋ฅํ์ฌ ์ถ๋ ฅํด์ฃผ์๊ณ , ๊ฒฐ๊ณผ๋ ๊ฒ์๊ธ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
๋ฌธ์ ํ์ด
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,
CASE
WHEN STATUS='SALE' THEN 'ํ๋งค์ค'
WHEN STATUS='RESERVED' THEN '์์ฝ์ค'
WHEN STATUS='DONE' THEN '๊ฑฐ๋์๋ฃ'
END AS STATUS
FROM USED_GOODS_BOARD
WHERE CREATED_DATE LIKE '2022-10-05'
ORDER BY BOARD_ID DESC;
์ค๋๋ง์ CASE...WHEN...THEN...END๋ฅผ ์ฌ์ฉํ๋ค.
- USED_GOODS_BOARD ํ ์ด๋ธ์์ ๊ฒ์๊ธ ๋ฑ๋ก ๋ ์ง(CREATED_DATE)๊ฐ 2022๋ 10์ 5์ผ์ธ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ค.
- ์ถ์ถํ ๋ฐ์ดํฐ๋ค์ ๊ฒ์๊ธ ID, ์์ฑ์ ID, ๊ฒ์๊ธ ์ ๋ชฉ, ๊ฐ๊ฒฉ, ๊ฑฐ๋ ์ํ๋ฅผ ์ถ์ถํ๋ค.
- ์ฌ๊ธฐ์ ๊ฑฐ๋ ์ํ๋ 'SALE'->'ํ๋งค์ค', 'RESERVED'->'์์ฝ์ค', 'DONE'->'๊ฑฐ๋์๋ฃ'๋ก ์ถ๋ ฅํด์ผ ํ๋๋ฐ, ์ด๋ CASE...WHER...THEN...END ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. ์๊ทผํ ์์ฃผ ๋ณด์ด๋ ๊ฒ ๊ฐ์ผ๋ ๊ธฐ์ตํด๋์.