[SQLD] NULL

๋„์ง€๋Š”ยท2024๋…„ 3์›” 6์ผ

SQLD

๋ชฉ๋ก ๋ณด๊ธฐ
4/8

๐Ÿ’ก NULL์ด๋ž€?

๐Ÿ–๏ธ NULL
์•„์ง ์ •์˜๋˜์ง€ ์•Š์€ ๊ฐ’
0(์ˆซ์ž) ์ด๋‚˜ ๊ณต๋ฐฑ(๋ฌธ์ž)๊ณผ๋Š” ๋‹ค๋ฆ„

  • NOT NULL ์ด๋‚˜ PRIMARY KEY๋กœ ์ •์˜๋˜์ง€ ์•Š์€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์œ ํ˜•์€ NULL์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ
  • NULL ๊ฐ’์„ ํฌํ•จํ•˜๋Š” ์—ฐ์‚ฐ์˜ ๊ฒฝ์šฐ ๊ฒฐ๊ณผ๋„ NULL
  • ์ง‘๊ณ„ ํ•จ์ˆ˜์˜ ํ†ต๊ณ„ ์ •๋ณด๋Š” NULL ๊ฐ’์„ ๊ฐ€์ง„ ํ–‰์„ ์ œ์™ธํ•˜๊ณ  ์ˆ˜ํ–‰

    โœ”๏ธ ๋น„๊ต

    Count(*): NULL ๊ฐ’์„ ํฌํ•จํ•œ ํ–‰์˜ ์ˆ˜ ์ถœ๋ ฅ
    Count(ํ‘œํ˜„์‹): ํ‘œํ˜„์‹์˜ ๊ฐ’์ด NULL์ธ ๊ฐ’์„ ์ œ์™ธํ•œ ํ–‰์˜ ์ˆ˜ ์ถœ๋ ฅ

์˜ค๋ผํด

  • NULL์„ ๊ฐ€์žฅ ํฐ ๊ฐ’์œผ๋กœ ๊ฐ„์ฃผ
    โžก๏ธŽ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ์ˆœ์„œ
  • ''(๊ณต๋ฐฑ), NULL ๋ชจ๋‘ NULL๋กœ ์ทจ๊ธ‰

SQL Server

  • NULL์„ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์œผ๋กœ ๊ฐ„์ฃผ
    โžก๏ธŽ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๋ฉด ์ œ์ผ ๋จผ์ € ๋‚˜์˜ด
  • ''(๊ณต๋ฐฑ), NULL์„ ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ

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

1๏ธโƒฃ NVL(a, b) - ์˜ค๋ผํด / ISNULL(a, b) - SQL Server

a๊ฐ€ NULL ์ด๋ฉด b๊ฐ’ ๋ฐ˜ํ™˜
a๊ฐ€ NULL์ด ์•„๋‹ˆ๋ฉด a ์ž๊ธฐ ์ž์‹  ๋ฐ˜ํ™˜

2๏ธโƒฃ NULLIF(a, b)

a์™€ b๊ฐ€ ๊ฐ™์œผ๋ฉด NULL ๋ฐ˜ํ™˜
a์™€ b๊ฐ€ ๋‹ค๋ฅด๋ฉด a๊ฐ’ ๋ฐ˜ํ™˜

3๏ธโƒฃ COALESCE(a, b, โ€ฆ)

a, b, โ€ฆ ์ค‘์—์„œ NULL์ด ์•„๋‹Œ ์ตœ์ดˆ์˜ ํ‘œํ˜„์‹ ๋ฐ˜ํ™˜
๋ชจ๋“  ํ‘œํ˜„์‹์ด NULL์ด๋ผ๋ฉด NULL ๋ฐ˜ํ™˜

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