Search

MySQL NULL ๊ด€๋ จ ํ•จ์ˆ˜

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

์ด๋ฒˆ ์˜์ƒ์—์„œ๋Š” MySQL์—์„œ ์ž์ฃผ ๋งˆ์ฃผ์น˜๋Š”ย NULL ๊ฐ’๊ณผ ์ด๋ฅผ ๋‹ค๋ฃจ๋Š” ์—ฌ๋Ÿฌ ํ•จ์ˆ˜๋“ค์„ ์‰ฝ๊ณ  ์žฌ๋ฏธ์žˆ๊ฒŒ ๋ฐฐ์›Œ๋ด…๋‹ˆ๋‹ค. ํŠนํžˆ, NULL ๋•Œ๋ฌธ์— ๊ณ„์‚ฐ์ด ๊ผฌ์ด์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์‹ค๋ฌด์—์„œ ์ž์ฃผ ์“ฐ์ด๋Š” ํ•จ์ˆ˜๋“ค์„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด์š”.

๋ชฉ์ฐจ

1.
NULL ๊ฐ’๊ณผ IFNULL ํ•จ์ˆ˜ ์†Œ๊ฐœ [00:00:15]
2.
์‹ค์Šต: ์ž„ํ”Œ๋กœ์ด์ฆˆ ํ…Œ์ด๋ธ”๊ณผ NULL ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ [00:01:29]
3.
IFNULL ํ•จ์ˆ˜ ํ™œ์šฉ๋ฒ•๊ณผ ์˜ˆ์‹œ [00:06:33]
4.
NULL ๊ด€๋ จ ํ•จ์ˆ˜: NULLIF์™€ COALESCE ์†Œ๊ฐœ [00:13:01]
5.
COALESCE ํ•จ์ˆ˜๋กœ ์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ ์ค‘ ์ฒซ ๋ฒˆ์งธ NULL ์•„๋‹Œ ๊ฐ’ ์ฐพ๊ธฐ [00:16:11]
6.
์‹ค์ „ ์˜ˆ์ œ: ์ปค๋ฏธ์…˜๊ณผ ๋ณด๋„ˆ์Šค ๊ณ„์‚ฐํ•˜๊ธฐ [00:17:05]
7.
๋งˆ๋ฌด๋ฆฌ ์ •๋ฆฌ์™€ ์š”์•ฝ [00:24:15]

NULL ๊ฐ’๊ณผ IFNULL ํ•จ์ˆ˜ ์†Œ๊ฐœ [00:00:15]

โ€ข
NULL์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๊ฑฐ๋‚˜ ๊ฐ’์ด ๋น„์–ด์žˆ๋‹ค๋Š” ๋œป์ด์—์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ์–ด๋–ค ์ง์›์˜ ์ปค๋ฏธ์…˜์ด ์•„์ง ์ •ํ•ด์ง€์ง€ ์•Š์•„ ๋นˆ ๊ฐ’์ผ ๋•Œ NULL์ด ๋ฉ๋‹ˆ๋‹ค.
โ€ข
IFNULL(๊ฐ’, ๋Œ€์ฒด๊ฐ’)ย ํ•จ์ˆ˜๋Š” ๊ฐ’์ด NULL์ด๋ฉด ๋Œ€์ฒด๊ฐ’์„ ๋Œ€์‹  ์จ์„œ ์ถœ๋ ฅํ•ด ์ค๋‹ˆ๋‹ค.
โ—ฆ
์˜ˆ:ย IFNULL(์ปค๋ฏธ์…˜, 0)ย โ†’ ์ปค๋ฏธ์…˜์ด NULL์ด๋ฉด 0์œผ๋กœ ๋ฐ”๊ฟ”์„œ ๊ณ„์‚ฐํ•ด์š”.
โ€ข
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด NULL ๋•Œ๋ฌธ์— ๊ณ„์‚ฐ์ด ์•ˆ ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ๋ง‰์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์Šต: ์ž„ํ”Œ๋กœ์ด์ฆˆ ํ…Œ์ด๋ธ”๊ณผ NULL ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ [00:01:29]

โ€ข
์˜ˆ์‹œ๋กœ ์ง์›๋“ค์˜ ์›”๊ธ‰, ์ปค๋ฏธ์…˜ ๋น„์œจ, ๋ณด๋„ˆ์Šค๊ฐ€ ์žˆ๋Š” ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
โ€ข
์ปค๋ฏธ์…˜์ด๋‚˜ ๋ณด๋„ˆ์Šค๊ฐ€ NULL์ธ ์ง์›์ด ์žˆ์„ ๋•Œ, ๊ทธ๋ƒฅ ๊ณ„์‚ฐํ•˜๋ฉด ๊ฒฐ๊ณผ๋„ NULL์ด ๋˜์–ด๋ฒ„๋ ค์š”.
โ€ข
๊ทธ๋ž˜์„œ IFNULL ํ•จ์ˆ˜๋ฅผ ์จ์„œ NULL์„ 0์œผ๋กœ ๋ฐ”๊ฟ”์„œ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹ค์Šตํ•ฉ๋‹ˆ๋‹ค.
โ€ข
์˜ˆ)ย ์ตœ์ข…์›”๊ธ‰ = ์›”๊ธ‰ + (์›”๊ธ‰ * IFNULL(์ปค๋ฏธ์…˜, 0))

IFNULL ํ•จ์ˆ˜ ํ™œ์šฉ๋ฒ•๊ณผ ์˜ˆ์‹œ [00:06:33]

โ€ข
IFNULL ํ•จ์ˆ˜๋Š” NULL ๊ฐ’์„ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ๋Œ€์ฒดํ•  ๋•Œ ์•„์ฃผ ์œ ์šฉํ•ด์š”.
โ€ข
์˜ˆ๋ฅผ ๋“ค์–ด, ์ปค๋ฏธ์…˜์ด NULL์ด๋ฉด 0์œผ๋กœ ๋ฐ”๊ฟ”์„œ ์›”๊ธ‰ ๊ณ„์‚ฐ์— ๋ฌธ์ œ ์—†๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
โ€ข
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ปค๋ฏธ์…˜์ด ์—†๋Š” ์ง์›๋„ ๊ธฐ๋ณธ ์›”๊ธ‰์„ ์ œ๋Œ€๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ์ฃ .
โ€ข
์ •๋ ฌํ•  ๋•Œ๋„ ๊ณ„์‚ฐ๋œ ์ตœ์ข… ์›”๊ธ‰์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

NULL ๊ด€๋ จ ํ•จ์ˆ˜: NULLIF์™€ COALESCE ์†Œ๊ฐœ [00:13:01]

โ€ข
NULLIF(๊ฐ’1, ๊ฐ’2)ย ํ•จ์ˆ˜๋Š” ๋‘ ๊ฐ’์ด ๊ฐ™์œผ๋ฉด NULL์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๋‹ค๋ฅด๋ฉด ๊ฐ’1์„ ๋ฐ˜ํ™˜ํ•ด์š”.
โ—ฆ
์˜ˆ:ย NULLIF(๊ธ‰์—ฌ, 3300000)ย โ†’ ๊ธ‰์—ฌ๊ฐ€ 330๋งŒ ์›์ด๋ฉด NULL, ์•„๋‹ˆ๋ฉด ๊ธ‰์—ฌ๊ฐ’ ์ถœ๋ ฅ.
โ€ข
COALESCE(๊ฐ’1, ๊ฐ’2, ...)ย ํ•จ์ˆ˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ’ ์ค‘์—์„œ NULL์ด ์•„๋‹Œ ์ฒซ ๋ฒˆ์งธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ด์š”.
โ—ฆ
์˜ˆ:ย COALESCE(์ปค๋ฏธ์…˜, ๋ณด๋„ˆ์Šค, 0)ย โ†’ ์ปค๋ฏธ์…˜์ด NULL์ด๋ฉด ๋ณด๋„ˆ์Šค, ๋‘˜ ๋‹ค NULL์ด๋ฉด 0 ์ถœ๋ ฅ.

COALESCE ํ•จ์ˆ˜๋กœ ์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ ์ค‘ ์ฒซ ๋ฒˆ์งธ NULL ์•„๋‹Œ ๊ฐ’ ์ฐพ๊ธฐ [00:16:11]

โ€ข
COALESCE๋Š” ์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ์„ ์ฐจ๋ก€๋กœ ๊ฒ€์‚ฌํ•ด์„œ NULL์ด ์•„๋‹Œ ๊ฐ’์„ ์ฐพ์•„์ค๋‹ˆ๋‹ค.
โ€ข
์˜ˆ๋ฅผ ๋“ค์–ด, ์ปค๋ฏธ์…˜๊ณผ ๋ณด๋„ˆ์Šค ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์žˆ์œผ๋ฉด ๊ทธ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ , ๋‘˜ ๋‹ค ์—†์œผ๋ฉด 0์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์–ด์š”.
โ€ข
์‹ค๋ฌด์—์„œ ์—ฌ๋Ÿฌ ์˜ต์…˜ ์ค‘ ๊ฐ’์ด ์žˆ๋Š” ๊ฑธ ์ฐพ์„ ๋•Œ ์•„์ฃผ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ „ ์˜ˆ์ œ: ์ปค๋ฏธ์…˜๊ณผ ๋ณด๋„ˆ์Šค ๊ณ„์‚ฐํ•˜๊ธฐ [00:17:05]

โ€ข
์ง์›๋ณ„๋กœ 1๋…„ ๋™์•ˆ ๋ฐ›๋Š” ์ˆ˜๋‹น์„ ๊ณ„์‚ฐํ•ด๋ด…๋‹ˆ๋‹ค.
โ€ข
์ปค๋ฏธ์…˜์ด ์žˆ์œผ๋ฉดย ์›”๊ธ‰ * ์ปค๋ฏธ์…˜ * 12๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ์—†์œผ๋ฉด ๋ณด๋„ˆ์Šค๋ฅผ ์ถœ๋ ฅ.
โ€ข
COALESCE๋ฅผ ์‚ฌ์šฉํ•ด ์ปค๋ฏธ์…˜๊ณผ ๋ณด๋„ˆ์Šค ์ค‘ ์žˆ๋Š” ๊ฐ’์„ ๊ณจ๋ผ์„œ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
โ€ข
NULL ๋•Œ๋ฌธ์— ๊ณ„์‚ฐ์ด ์•ˆ ๋˜๋Š” ๋ฌธ์ œ๋ฅผ IFNULL๊ณผ COALESCE๋กœ ๊น”๋”ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ ์ •๋ฆฌ์™€ ์š”์•ฝ [00:24:15]

โ€ข
MySQL์—์„œ NULL ๊ฐ’์€ ๊ณ„์‚ฐ๊ณผ ์ถœ๋ ฅ์— ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์–ด์š”.
โ€ข
IFNULL ํ•จ์ˆ˜๋กœ NULL ๊ฐ’์„ ์›ํ•˜๋Š” ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์„œ ๋ฌธ์ œ๋ฅผ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
NULLIF๋Š” ํŠน์ • ๊ฐ’๊ณผ ๊ฐ™์œผ๋ฉด NULL๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ์„ ๋•Œ ์“ฐ๊ณ ,
โ€ข
COALESCE๋Š” ์—ฌ๋Ÿฌ ๊ฐ’ ์ค‘ NULL์ด ์•„๋‹Œ ์ฒซ ๋ฒˆ์งธ ๊ฐ’์„ ์ฐพ์„ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
โ€ข
์‹ค๋ฌด์—์„œ ์ปค๋ฏธ์…˜, ๋ณด๋„ˆ์Šค์ฒ˜๋Ÿผ ๊ฐ’์ด ์—†์„ ์ˆ˜๋„ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ๊ผญ ํ•„์š”ํ•œ ํ•จ์ˆ˜๋“ค์ด๋‹ˆ ๊ผญ ์ตํ˜€๋‘์„ธ์š”!
์ด์ œ MySQL์—์„œ NULL ๋•Œ๋ฌธ์— ๊ณ ๋ฏผํ•˜์ง€ ๋ง๊ณ , IFNULL, NULLIF, COALESCE ํ•จ์ˆ˜๋กœ ๋˜‘๋˜‘ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ ๋‹ค๋ค„๋ณด์„ธ์š”!
์˜์ƒ ๋งํฌ ๋ฐ ๋” ๋งŽ์€ ๊ฐ•์˜๋Š” ์„ค๋ช…๋ž€ ์ฐธ๊ณ !
#MySQL #NULLํ•จ์ˆ˜ #VSCODE #๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค #ํ”„๋กœ๊ทธ๋ž˜๋ฐ