
๐ 1. ๋ฌธ์ ์ค๋ช


๐ก 2. ์ ๊ทผ๋ฐฉ์
์ด ๋ฌธ์ ํต์ฌ์ ์กฐ๊ฑด์ ๋ฐ๋ผ์ STATUS ๋ผ๋ ์ปฌ๋ผ์ ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ด๋ค
์๋ฐ์์ ์กฐ๊ฑด๋ฌธ์ผ๋ก IF๋ CASE๋ฌธ ์ฐ๋ ๊ฒ์ฒ๋ผ MySQL ์์๋ SELECT ์ ์ CASE ๋ฌธ์ ์จ ์ค ์ ์๋ค.
CASE WHEN ์ปฌ๋ผ๋ช
= '์กฐ๊ฑด' THEN '๊ฒฐ๊ณผ๊ฐ' ํด ์ฃผ๋ฉด
์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ ๋์ถ๋๋ค.
๊ทธ๋ฆฌ๊ณ CASE ๋ฌธ์ ๋๋ผ ๋๋ END AS ๋ณ์นญ์ ์ฌ์ฉํ๋ค
๋ง์ฝ์ ๋์ดํ ์กฐ๊ฑด์ ํด๋นํ์ง ์๋ ๊ฒฝ์ฐ์ ๊ธฐ๋ณธ ๊ฐ์ ์ฃผ๊ณ ์ถ๋ค๋ฉด
WHEN ๋์ ELSE ์ ์ ๊ธฐ๋ณธ๊ฐ์ ์ธํ
ํด ์ฃผ๋ฉด ๋๋ค.
โญ 3. ์ ๋ต์ฝ๋
๊ณ์ ํ๋ ค์ ์ถ๋ ฅ์ ์ ๋๋๋ฐ ์ ํ๋ฆฌ๋ ํ๋๋ MySQL ์์ ๊ธฐ๋ณธ๊ฐ์ ์ค๋ฆ์ฐจ์์ด์๋ค
์ฒ์์ ๋ด๋ฆผ์ฐจ์์ด ๊ธฐ๋ณธ๊ฐ์ด๋ผ ์๊ฐํ๊ณ ์๋ตํ์
ORDER BY BOARD_ID;
๋ง ์ผ๋๋ ๊ณ์ ํ๋ ค์ ๋ญ์ง ํ๋๋ฐ DESC ์จ์ฃผ๋๊น ์ ๋ต ์ฒ๋ฆฌ ๋ฌ๋ค.
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 = '2022-10-05'
ORDER BY BOARD_ID DESC;
ELSE ์ ์ Default ๊ฐ ์ธํ
ํด์ค๋ ์ ๋ต์ฒ๋ฆฌ ๋๋ค. ์ํ ^_^*
-- ์ฝ๋๋ฅผ ์
๋ ฅํ์ธ์
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,
CASE
WHEN STATUS = 'sale' THEN 'ํ๋งค์ค'
WHEN STATUS = 'reserved' THEN '์์ฝ์ค'
WHEN STATUS = 'done' THEN '๊ฑฐ๋์๋ฃ'
ELSE '์ ์ ์์'
END AS STATUS
FROM USED_GOODS_BOARD
WHERE CREATED_DATE = '2022-10-05'
ORDER BY BOARD_ID DESC;
'Algorithm > SQLํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ

๐ 1. ๋ฌธ์ ์ค๋ช


๐ก 2. ์ ๊ทผ๋ฐฉ์
์ด ๋ฌธ์ ํต์ฌ์ ์กฐ๊ฑด์ ๋ฐ๋ผ์ STATUS ๋ผ๋ ์ปฌ๋ผ์ ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ด๋ค
์๋ฐ์์ ์กฐ๊ฑด๋ฌธ์ผ๋ก IF๋ CASE๋ฌธ ์ฐ๋ ๊ฒ์ฒ๋ผ MySQL ์์๋ SELECT ์ ์ CASE ๋ฌธ์ ์จ ์ค ์ ์๋ค.
CASE WHEN ์ปฌ๋ผ๋ช
= '์กฐ๊ฑด' THEN '๊ฒฐ๊ณผ๊ฐ' ํด ์ฃผ๋ฉด
์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ ๋์ถ๋๋ค.
๊ทธ๋ฆฌ๊ณ CASE ๋ฌธ์ ๋๋ผ ๋๋ END AS ๋ณ์นญ์ ์ฌ์ฉํ๋ค
๋ง์ฝ์ ๋์ดํ ์กฐ๊ฑด์ ํด๋นํ์ง ์๋ ๊ฒฝ์ฐ์ ๊ธฐ๋ณธ ๊ฐ์ ์ฃผ๊ณ ์ถ๋ค๋ฉด
WHEN ๋์ ELSE ์ ์ ๊ธฐ๋ณธ๊ฐ์ ์ธํ
ํด ์ฃผ๋ฉด ๋๋ค.
โญ 3. ์ ๋ต์ฝ๋
๊ณ์ ํ๋ ค์ ์ถ๋ ฅ์ ์ ๋๋๋ฐ ์ ํ๋ฆฌ๋ ํ๋๋ MySQL ์์ ๊ธฐ๋ณธ๊ฐ์ ์ค๋ฆ์ฐจ์์ด์๋ค
์ฒ์์ ๋ด๋ฆผ์ฐจ์์ด ๊ธฐ๋ณธ๊ฐ์ด๋ผ ์๊ฐํ๊ณ ์๋ตํ์
ORDER BY BOARD_ID;
๋ง ์ผ๋๋ ๊ณ์ ํ๋ ค์ ๋ญ์ง ํ๋๋ฐ DESC ์จ์ฃผ๋๊น ์ ๋ต ์ฒ๋ฆฌ ๋ฌ๋ค.
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 = '2022-10-05' ORDER BY BOARD_ID DESC;
ELSE ์ ์ Default ๊ฐ ์ธํ
ํด์ค๋ ์ ๋ต์ฒ๋ฆฌ ๋๋ค. ์ํ ^_^*
-- ์ฝ๋๋ฅผ ์
๋ ฅํ์ธ์ SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE WHEN STATUS = 'sale' THEN 'ํ๋งค์ค' WHEN STATUS = 'reserved' THEN '์์ฝ์ค' WHEN STATUS = 'done' THEN '๊ฑฐ๋์๋ฃ' ELSE '์ ์ ์์' END AS STATUS FROM USED_GOODS_BOARD WHERE CREATED_DATE = '2022-10-05' ORDER BY BOARD_ID DESC;