[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv2. NULL ์ฒ˜๋ฆฌํ•˜๊ธฐ [IS NULL]

2022. 9. 26. 08:06ใ†์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_2022

728x90

 

๋ฌธ์ œ ์„ค๋ช…

ANIMAL_INS ํ…Œ์ด๋ธ”์€ ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ANIMAL_INS ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋Š” ๊ฐ๊ฐ ๋™๋ฌผ์˜ ์•„์ด๋””, ์ƒ๋ฌผ ์ข…, ๋ณดํ˜ธ ์‹œ์ž‘์ผ, ๋ณดํ˜ธ ์‹œ์ž‘ ์‹œ ์ƒํƒœ, ์ด๋ฆ„, ์„ฑ๋ณ„ ๋ฐ ์ค‘์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

 

NAME                                                                                   TYPE                                                      NULLABLE
ANIMAL_ID VARCHAR(N) FALSE
ANIMAL_TYPE VARCHAR(N) FALSE
DATETIME DATETIME FALSE
INTAKE_CONDITION VARCHAR(N) FALSE
NAME VARCHAR(N) TRUE
SEX_UPON_INTAKE VARCHAR(N) FALSE

์ž…์–‘ ๊ฒŒ์‹œํŒ์— ๋™๋ฌผ ์ •๋ณด๋ฅผ ๊ฒŒ์‹œํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋™๋ฌผ์˜ ์ƒ๋ฌผ ์ข…, ์ด๋ฆ„, ์„ฑ๋ณ„ ๋ฐ ์ค‘์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ์•„์ด๋”” ์ˆœ์œผ๋กœ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ๋“ค์€ NULL์ด๋ผ๋Š” ๊ธฐํ˜ธ๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋ฆ„์ด ์—†๋Š” ๋™๋ฌผ์˜ ์ด๋ฆ„์€ "No name"์œผ๋กœ ํ‘œ์‹œํ•ด ์ฃผ์„ธ์š”.

์˜ˆ์‹œ

์˜ˆ๋ฅผ ๋“ค์–ด ANIMAL_INS ํ…Œ์ด๋ธ”์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด

ANIMAL_ID          ANIMAL_TYPE         DATETIME                      INTAKE_CONDITION  NAME   SEX_UPON_INTAKE
A350276 Cat 2017-08-13 13:50:00 Normal Jewel Spayed Female
A350375 Cat 2017-03-06 15:01:00 Normal Meo Neutered Male
A368930 Dog 2014-06-08 13:20:00 Normal NULL Spayed Female

๋งˆ์ง€๋ง‰ ์ค„์˜ ๊ฐœ๋Š” ์ด๋ฆ„์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์ด ๊ฐœ์˜ ์ด๋ฆ„์€ "No name"์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ SQL๋ฌธ์„ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

ANIMAL_TYPE          NAME                                                   SEX_UPON_INTAKE
Cat Jewel Spayed Female
Cat Meo Neutered Male
Dog No name Spayed Female

โ€ป ์ปฌ๋Ÿผ ์ด๋ฆ„์€ ์ผ์น˜ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

 

๋‚˜์˜ ํ’€์ด [MySQL]

SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name') AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS  ORDER BY ANIMAL_ID ASC;

NAME์ด NULL ์ธ ๊ฒฝ์šฐ์— No name์ด๋ผ๊ณ  ํ‘œ์‹œํ•ด์•ผํ•˜๋Š”๊ฒŒ ์ด๋ฒˆ ๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

CASE WHEN..์ด๋ ‡๊ฒŒ ์กฐ๊ฑด์‹์œผ๋กœ ํ•  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ ๊ฐ„๋‹จํ•˜๊ฒŒ IFNULL ํ•จ์ˆ˜๊ฐ€ ์ƒ๊ฐ๋‚˜์„œ ์ด๊ฑธ ์‚ฌ์šฉํ–ˆ๋‹ค. 

IFNULL ํ•จ์ˆ˜๊ฐ€ ๊ธฐ์–ต์ด ๊ฐ€๋ฌผ๊ฐ€๋ฌผํ•ด์„œ ์™œ ์•ˆ๋˜์ง€ ํ–ˆ๋”๋‹ˆ NULLIF๋กœ ๊ธฐ์–ตํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค..;;..ใ…Žใ…Ž

 

์•„๋ฌดํŠผ IFNULL('์ปฌ๋Ÿผ๋ช…', 'NULL์ผ๋•Œ ๋Œ€์ฒด๊ฐ’') ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. 

์ด๋•Œ ๋‚˜๋ฆ„ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ 'No name' ์ŠคํŽ ๋ง๋„ ์ฃผ์˜ํ•ด์„œ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค..!! 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90