๐Ÿ’ป [SQL] 16. ์กฐ๊ฑด๋ฌธ

thisk336ยท2023๋…„ 10์›” 12์ผ
0

SQL

๋ชฉ๋ก ๋ณด๊ธฐ
16/17
post-thumbnail

IF ๋ฌธ

  • IF๋ฌธ์€ ์กฐ๊ฑด์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ๊ฐ์˜ ๊ฒฐ๊ณผ ๊ฐ’์ด ์ฐธ์ผ ๋•Œ์™€ ๊ฑฐ์ง“์ผ ๋•Œ์˜ ๊ฐ’์„ ๋‹ค๋ฅด๊ฒŒ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
IF([์กฐ๊ฑด์‹], [์ฐธ์ผ ๋•Œ ๊ฐ’], [๊ฑฐ์ง“์ผ ๋•Œ ๊ฐ’])
  • ์ฃผ๋กœ SELECT ๋ฌธ์— ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ฒฐ๊ณผ ๊ฐ’์„ ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
SELECT 
	title,
	IF(rental_rate BETWEEN 0 AND 3, 'Cheap', 'Expensive') AS PriceCategory
FROM film;

CASE ๋ฌธ

  • CASE ๋ฌธ์€ IF๋ฌธ๊ณผ ๊ฐ™์€ ์›๋ฆฌ๋กœ ์‚ฌ์šฉ๋˜์ง€๋งŒ, IF๋ฌธ๋ณด๋‹ค ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ if-else ๋ฌธ๊ณผ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•œ๋‹ค.
  • ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
CASE
WHEN [์กฐ๊ฑด์‹ 1] THEN [๊ฒฐ๊ณผ 1]
WHEN [์กฐ๊ฑด์‹ 2] THEN [๊ฒฐ๊ณผ 2]
...
ELSE [๊ฒฐ๊ณผ n]
END
  • ๋ณดํ†ต Alias๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ๊ฒฐ๊ณผ ๊ฐ’์„ ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ์œผ๋กœ ๋ฐ˜ํ™˜ํ•  ๋•Œ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•œ๋‹ค.
SELECT title,
CASE
WHEN rental_rate < 1 THEN 'Cheap'
WHEN rental_rate BETWEEN 1 AND 3 THEN 'Moderate'
ELSE 'Expensive'
END AS PriceCategory
FROM film;

0๊ฐœ์˜ ๋Œ“๊ธ€