728x90
๋ฌธ์ ์ ๋ชฉ | ์ ๋ต๋ฅ | ๋์ด๋ |
์กฐ๊ฑด์ ๋ถํฉํ๋ ์ค๊ณ ๊ฑฐ๋ ์ํ ์กฐํํ๊ธฐ | 73% | Lv.2 |
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฌธ์ ์์ฝ
์กฐํ
๊ฒ์๊ธ ID, ์์ฑ์ ID, ๊ฒ์๊ธ ์ ๋ชฉ, ๊ฐ๊ฒฉ, ๊ฑฐ๋์ํ
์กฐ๊ฑด ์ ๋ฆฌ
- ๊ฑฐ๋์ํ๊ฐ SALE ์ด๋ฉด ํ๋งค ์ค, RESERVED์ด๋ฉด ์์ฝ ์ค, DONE์ด๋ฉด ๊ฑฐ๋์๋ฃ ๋ถ๋ฅ
- ๊ฒ์๊ธ ID ์์๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
์ฝ๋
ํ์ด 1) case ์ปฌ๋ผ๋ช ์ฌ์ฉ
select BOARD_ID, WRITER_ID, TITLE, PRICE,
case STATUS
when 'SALE' then 'ํ๋งค์ค'
when 'RESERVED' then '์์ฝ์ค'
when 'DONE' then '๊ฑฐ๋์๋ฃ'
end as STATUS
from USED_GOODS_BOARD
where CREATED_DATE='2022-10-05'
order by BOARD_ID desc;
ํ์ด 2) when์ ์ปฌ๋ผ ์กฐ๊ฑด์ ์ฌ์ฉ
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;
# SALE ์ด๋ฉด ํ๋งค์ค, RESERVED์ด๋ฉด ์์ฝ์ค, DONE์ด๋ฉด ๊ฑฐ๋์๋ฃโ
์กฐ๊ฑด ์ฐ์ฐ(CASE, IF)
1) CASE ์กฐ๊ฑด์ - case ์ปฌ๋ผ๋ช ์ฌ์ฉ
CASE ์ปฌ๋ผ๋ช
WHEN ์กฐ๊ฑด1 THEN ๋ถ๋ฅ๊ฐ1
WHEN ์กฐ๊ฑด2 THEN ๋ถ๋ฅ๊ฐ2
ELSE ๋ถ๋ฅ๊ฐ3 (์๋ต๊ฐ๋ฅ)
END;
2) CASE ์กฐ๊ฑด์ - when์ ์ปฌ๋ผ ์กฐ๊ฑด์ ์ฌ์ฉ
CASE
WHEN ์กฐ๊ฑด1 THEN ๋ถ๋ฅ๊ฐ1
WHEN ์กฐ๊ฑด2 THEN ๋ถ๋ฅ๊ฐ2
ELSE ๋ถ๋ฅ๊ฐ3 (์๋ต๊ฐ๋ฅ)
END;
3) IF ์กฐ๊ฑด์
SELECT IF(์กฐ๊ฑด๋ฌธ, ์ฐธ์ผ ๋์ ๊ฐ, ๊ฑฐ์ง์ผ ๋์ ๊ฐ)
728x90
'์๊ณ ๋ฆฌ์ฆ๐ฅ > ๋ฌธ์ ํ์ด (MYSQL)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] ๋ฃจ์์ ์๋ผ ์ฐพ๊ธฐ (Lv.2) 2023/6/29 (0) | 2023.06.29 |
---|