Search

MySQL ๊ธฐํƒ€ํ•จ์ˆ˜

MySQL ๊ธฐํƒ€ํ•จ์ˆ˜ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ!

์ด๋ฒˆ ์˜์ƒ์—์„œ๋Š” MySQL์—์„œ ์ž์ฃผ ์“ฐ์ด๋Š” ๊ธฐํƒ€ ํ•จ์ˆ˜๋“ค์„ ์‰ฝ๊ณ  ์žฌ๋ฏธ์žˆ๊ฒŒ ๋ฐฐ์›Œ๋ด…๋‹ˆ๋‹ค. ํŠนํžˆ ์กฐ๊ฑด๋ฌธ ์—ญํ• ์„ ํ•˜๋Š”ย CASE์™€ย IFย ํ•จ์ˆ˜, ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜๋“ค์„ ์‹ค์Šต๊ณผ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด์š”. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฒฝํ—˜์ด ์—†์–ด๋„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์นœ์ ˆํ•˜๊ฒŒ ํ’€์ดํ•ด๋“œ๋ฆด๊ฒŒ์š”!

๋ชฉ์ฐจ

1.
[00:00:34] MySQL ๊ธฐํƒ€ ํ•จ์ˆ˜ ์†Œ๊ฐœ
2.
[00:01:00] IF ํ•จ์ˆ˜๋ž€? ์กฐ๊ฑด์— ๋”ฐ๋ผ ๊ฐ’ ์„ ํƒํ•˜๊ธฐ
3.
[00:02:20] CASE WHEN ๋ฌธ๋ฒ•๊ณผ ์‚ฌ์šฉ๋ฒ•
4.
[00:03:47] CASE๋กœ ๊ธ‰์—ฌ ๊ตฌ๊ฐ„ ๋‚˜๋ˆ„๊ธฐ ์‹ค์Šต
5.
[00:07:37] IF ํ•จ์ˆ˜๋กœ ๋ณด๋„ˆ์Šค ์œ ๋ฌด ํŒ๋‹จํ•˜๊ธฐ
6.
[00:12:18] ๋ฒ„์ „, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์œ ์ € ์ •๋ณด ํ™•์ธ ํ•จ์ˆ˜
7.
[00:20:00] ๋งˆ๋ฌด๋ฆฌ ์ •๋ฆฌ

1. MySQL ๊ธฐํƒ€ ํ•จ์ˆ˜ ์†Œ๊ฐœ [00:00:34]

MySQL์—์„œ ์ž์ฃผ ์“ฐ์ด๋Š” ๊ธฐํƒ€ ํ•จ์ˆ˜๋“ค์„ ๋ฐฐ์›Œ๋ณผ ๊ฑฐ์˜ˆ์š”. ํŠนํžˆ ์กฐ๊ฑด๋ฌธ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ํ•จ์ˆ˜๋“ค์ด ๋งŽ์•„์„œ, ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.

2. IF ํ•จ์ˆ˜๋ž€? ์กฐ๊ฑด์— ๋”ฐ๋ผ ๊ฐ’ ์„ ํƒํ•˜๊ธฐ [00:01:00]

โ€ข
IF ํ•จ์ˆ˜๋Š” "๋งŒ์•ฝ์— ~๋ผ๋ฉด"์ด๋ผ๋Š” ์กฐ๊ฑด๋ฌธ์ด์—์š”.
โ€ข
์˜ˆ๋ฅผ ๋“ค์–ด,ย IF(์กฐ๊ฑด, ์ฐธ์ผ ๋•Œ ๊ฐ’, ๊ฑฐ์ง“์ผ ๋•Œ ๊ฐ’)ย ํ˜•ํƒœ๋กœ ์”๋‹ˆ๋‹ค.
โ€ข
์‰ฝ๊ฒŒ ๋งํ•ด, ์กฐ๊ฑด์ด ๋งž์œผ๋ฉด A๋ฅผ, ์•„๋‹ˆ๋ฉด B๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์Šค์œ„์น˜ ๊ฐ™์€ ๊ฑฐ์ฃ !
โ€ข
์˜ˆ:ย IF(salary > 3000000, '๊ณ ์†Œ๋“', '์ €์†Œ๋“')โ†’ ๊ธ‰์—ฌ๊ฐ€ 300๋งŒ ์› ๋„˜์œผ๋ฉด '๊ณ ์†Œ๋“', ์•„๋‹ˆ๋ฉด '์ €์†Œ๋“' ํ‘œ์‹œ

3. CASE WHEN ๋ฌธ๋ฒ•๊ณผ ์‚ฌ์šฉ๋ฒ• [00:02:20]

โ€ข
CASE WHEN์€ ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ์ˆœ์„œ๋Œ€๋กœ ๊ฒ€์‚ฌํ•ด์„œ ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ด์š”.
โ€ข
๋ฌธ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์•„์š”:
CASE WHEN ์กฐ๊ฑด1 THEN ๊ฒฐ๊ณผ1 WHEN ์กฐ๊ฑด2 THEN ๊ฒฐ๊ณผ2 ... ELSE ๊ธฐ๋ณธ๊ฐ’ END
SQL
๋ณต์‚ฌ
โ€ข
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ย switch-case์™€ ๋น„์Šทํ•ด์š”.
โ€ข
์กฐ๊ฑด์ด ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ž…๋‹ˆ๋‹ค!

4. CASE๋กœ ๊ธ‰์—ฌ ๊ตฌ๊ฐ„ ๋‚˜๋ˆ„๊ธฐ ์‹ค์Šต [00:03:47]

โ€ข
์‚ฌ์› ํ…Œ์ด๋ธ”์—์„œ ๊ธ‰์—ฌ๋ฅผ 300๋งŒ ์›๋Œ€, 400๋งŒ ์›๋Œ€ ๋“ฑ ๊ตฌ๊ฐ„๋ณ„๋กœ ๋‚˜๋ˆ ์„œ ํ‘œ์‹œํ•ด ๋ด…๋‹ˆ๋‹ค.
โ€ข
์˜ˆ์‹œ:
SELECT emp_no, name, salary, CASE WHEN salary BETWEEN 3000000 AND 3999999 THEN '1์†Œ๋“' WHEN salary BETWEEN 4000000 AND 4999999 THEN '2์†Œ๋“' WHEN salary BETWEEN 5000000 AND 5999999 THEN '3์†Œ๋“' ELSE '๊ธฐํƒ€' END AS ์†Œ๋“๊ตฌ๋ถ„ FROM employees;
SQL
๋ณต์‚ฌ
โ€ข
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ธ‰์—ฌ ๊ตฌ๊ฐ„๋ณ„๋กœ '1์†Œ๋“', '2์†Œ๋“' ๊ฐ™์€ ์ด๋ฆ„์„ ๋ถ™์—ฌ์„œ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.
โ€ข
์‹ค์Šต ๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ด ์กฐ๊ฑด๋ณ„๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜ ๋‚˜๋ˆ„์–ด์ง€๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค!

5. IF ํ•จ์ˆ˜๋กœ ๋ณด๋„ˆ์Šค ์œ ๋ฌด ํŒ๋‹จํ•˜๊ธฐ [00:07:37]

โ€ข
์‚ฌ์›๋“ค์˜ ์ปค๋ฏธ์…˜(์ˆ˜์ˆ˜๋ฃŒ)๊ณผ ๋ณด๋„ˆ์Šค ์ง€๊ธ‰ ์—ฌ๋ถ€๋ฅผ IF ํ•จ์ˆ˜๋กœ ํ™•์ธํ•ด ๋ด…๋‹ˆ๋‹ค.
โ€ข
์˜ˆ:
SELECT emp_no, commission_pct, IF(commission_pct IS NULL, '์—†์Œ', '์žˆ์Œ') AS ์ปค๋ฏธ์…˜์œ ๋ฌด, IF(bonus IS NULL, '์—†์Œ', '์žˆ์Œ') AS ๋ณด๋„ˆ์Šค์œ ๋ฌด FROM employees;
SQL
๋ณต์‚ฌ
โ€ข
์กฐ๊ฑด์„ ๋” ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์œผ๋ฉด AND, OR ๊ฐ™์€ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋ฅผ ์จ์„œ ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ๋™์‹œ์— ๊ฒ€์‚ฌํ•  ์ˆ˜๋„ ์žˆ์–ด์š”!
โ€ข
์˜ˆ๋ฅผ ๋“ค์–ด ์ปค๋ฏธ์…˜๊ณผ ๋ณด๋„ˆ์Šค๊ฐ€ ๋ชจ๋‘ ์žˆ์œผ๋ฉด '์žˆ์Œ', ์•„๋‹ˆ๋ฉด '์—†์Œ' ํ‘œ์‹œํ•˜๊ธฐ๋„ ๊ฐ€๋Šฅํ•ด์š”.

6. ๋ฒ„์ „, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์œ ์ € ์ •๋ณด ํ™•์ธ ํ•จ์ˆ˜ [00:12:18]

โ€ข
MySQL ์„œ๋ฒ„ ๋ฒ„์ „, ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„, ์ ‘์†ํ•œ ์œ ์ € ์ด๋ฆ„์„ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜๋„ ์žˆ์–ด์š”!
โ€ข
์˜ˆ:
SELECT VERSION() AS ๋ฒ„์ „, DATABASE() AS ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, USER() AS ์œ ์ €;
SQL
๋ณต์‚ฌ
โ€ข
์ด๊ฑธ๋กœ ๋‚ด ํ™˜๊ฒฝ์ด ์–ด๋–ค ์ƒํƒœ์ธ์ง€ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.

7. ๋งˆ๋ฌด๋ฆฌ ์ •๋ฆฌ [00:20:00]

โ€ข
์˜ค๋Š˜์€ MySQL์—์„œ ์กฐ๊ฑด๋ฌธ์ฒ˜๋Ÿผ ํ™œ์šฉํ•˜๋Š”ย CASE์™€ย IFย ํ•จ์ˆ˜, ๊ทธ๋ฆฌ๊ณ  ํ™˜๊ฒฝ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜๋“ค์„ ๋ฐฐ์› ์–ด์š”.
โ€ข
CASE๋Š” ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ์“ธ ๋•Œ,ย IF๋Š” ๊ฐ„๋‹จํ•œ ์กฐ๊ฑด ํ•˜๋‚˜๋ฅผ ์“ธ ๋•Œ ์ข‹์Šต๋‹ˆ๋‹ค.
โ€ข
์‹ค์Šต์„ ํ†ตํ•ด ์ง์ ‘ ์จ๋ณด๋‹ˆ ์ดํ•ด๊ฐ€ ๋” ์‰ฌ์› ์ฃ ?
โ€ข
์ด ํ•จ์ˆ˜๋“ค์„ ์ž˜ ํ™œ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์กฐํšŒ ์‹œ ์›ํ•˜๋Š” ์กฐ๊ฑด์— ๋งž๊ฒŒ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์–‘ํ•˜๊ฒŒ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์–ด์š”!

์š”์•ฝ

MySQL์˜ ๊ธฐํƒ€ ํ•จ์ˆ˜ ์ค‘ย CASE์™€ย IF๋Š” ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฐ’์„ ๋ณด์—ฌ์ฃผ๋Š” ์•„์ฃผ ์œ ์šฉํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.ย CASE๋Š” ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ์ฐจ๋ก€๋Œ€๋กœ ๊ฒ€์‚ฌํ•  ๋•Œ,ย IF๋Š” ๋‹จ์ˆœ ์กฐ๊ฑด์ผ ๋•Œ ์‚ฌ์šฉํ•ด์š”. ๋˜ํ•œย VERSION(),ย DATABASE(),ย USER()ย ํ•จ์ˆ˜๋กœ ํ˜„์žฌ ํ™˜๊ฒฝ ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ์„ ์ž˜ ํ™œ์šฉํ•ด์„œ ๋” ๋˜‘๋˜‘ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์„ธ์š”!
๊ถ๊ธˆํ•œ ์  ์žˆ์œผ๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”! ์ฆ๊ฑฐ์šด ์ฝ”๋”ฉ ๋˜์„ธ์š”~