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

ruriruriya

[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค MySQL - case,if ์กฐ๊ฑด๋ฌธ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ณธ๋ฌธ

๐Ÿ›ข๏ธDB/MySQL

[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค MySQL - case,if ์กฐ๊ฑด๋ฌธ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ฃจ๋ฆฌ์•ผใ…‘ 2023. 12. 1. 14:17
๋ฐ˜์‘ํ˜•

MySQL์—์„œ CASE ๋ฌธ๊ณผ IF ๋ฌธ์€ ์กฐ๊ฑด๋ถ€ ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์‚ฌ์šฉํ•  ํ…Œ์ด๋ธ”(books)

 

1. CASE๋ฌธ ์‚ฌ์šฉ๋ฐฉ๋ฒ•

SQL์˜ case ๋ฌธ์€ ๋‹ค๋ฅธ ์–ธ์–ด๋ž‘ ๋น„์Šทํ•˜๊ฒŒ ์“ฐ์ธ๋‹ค.
์•„๋ž˜๋Š” case์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ์ด๋‹ค. 
์˜ˆ์ œ๋กœ ์–ด๋–ป๊ฒŒ ์ž‘๋™๋˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.

CASE ์ปฌ๋Ÿผ๋ช…
    WHEN ๊ฐ’1 THEN ๊ฒฐ๊ณผ
    WHEN ๊ฐ’2 THEN ๊ฒฐ๊ณผ
    ...
    ELSE ๋‚˜๋จธ์ง€ ๊ฒฐ๊ณผ๊ฐ’
END

 

์˜ˆ์ œ 01 -

์ถœํŒ๋…„๋„๊ฐ€ 2000๋…„ ์ด์ƒ์ธ ์ฑ…๋“ค์€, '์ตœ๊ทผ์ฑ…' ์ด๋ผ๊ณ  ํ•˜๊ณ ,
๊ทธ๋ ‡์ง€ ์•Š์€ ์ฑ…๋“ค์€ '์˜ˆ์ „์ฑ…'์ด๋ผ๊ณ  ํ•˜์—ฌ,
type ์ด๋ผ๋Š” ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฐ€์ ธ์˜ค์‹œ์˜ค.

select * ,
		case
			when released_year >= 2000 then '์ตœ๊ทผ์ฑ…'
            else '์˜ˆ์ „์ฑ…'
        end as type
from books;

 

์˜ˆ์ œ 02 -

์žฌ๊ณ ๊ฐ€ 0๋ถ€ํ„ฐ 50๊นŒ์ง€์ด๋ฉด '*'
์žฌ๊ณ ๊ฐ€ 51๋ถ€ํ„ฐ 100๊นŒ์ง€์ด๋ฉด '**'
๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด  '***' ์œผ๋กœ ํ•˜์—ฌ, stock ์ด๋ผ๋Š” ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•˜์‹œ์˜ค.

select * ,
		case
			when stock_quantity between 0 and 50 then '*'
			when stock_quantity between 51 and 100 then '**'
            else '***'
		end as stock
from books;

 

2. IF ๋ฌธ ์‚ฌ์šฉ๋ฐฉ๋ฒ•

์กฐ๊ฑด์ด 3๊ฐœ ์ด์ƒ์ผ ๋•Œ๋Š” case ๊ตฌ๋ฌธ์ด ๋” ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ•˜์ง€๋งŒ
์กฐ๊ฑด์ด 2๊ฐœ๋ผ๋ฉด if ๊ตฌ๋ฌธ ํ•œ์ค„๋กœ ๋” ์‹ฌํ”Œํ•œ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

์œ„ case ๊ตฌ๋ฌธ์˜ ์˜ˆ์ œ 1๋ฒˆ์„ ํ’€์–ด๋ณด๋ฉด์„œ ๋น„๊ตํ•ด๋ณด์ž.

์˜ˆ์ œ 01 -

์ถœํŒ๋…„๋„๊ฐ€ 2000๋…„ ์ด์ƒ์ธ ์ฑ…๋“ค์€, '์ตœ๊ทผ์ฑ…' ์ด๋ผ๊ณ  ํ•˜๊ณ ,
๊ทธ๋ ‡์ง€ ์•Š์€ ์ฑ…๋“ค์€ '์˜ˆ์ „์ฑ…'์ด๋ผ๊ณ  ํ•˜์—ฌ,
type ์ด๋ผ๋Š” ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฐ€์ ธ์˜ค์‹œ์˜ค.

select * , if(released_year >= 2000, '์ตœ๊ทผ์ฑ…', '์˜ˆ์ „์ฑ…') as type
from books;

CASE ๋ฌธ๊ณผ IF ๋ฌธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•  ๋•Œ ์œ ์šฉํ•œ๋‹ค. ๊ฐ„๋‹จํ•œ ๋กœ์ง๋ถ€ํ„ฐ ๋ณต์žกํ•œ ์กฐ๊ฑด๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•