본문 바로가기

[공부] SQL

[SQL 코딩테스트] 프로그래머스 IS NULL 정답

분명 별거 아닌거 아는데 뭔가 항상 틀릴 것 같고 무서운 NULL 관련 함수. 짧고 굵게 뿌셔보자.


경기도에 위치한 식품창고 목록 출력하기
#IFNULL

 

처음에 NULLIF와 헷갈려서 틀림. 아니 이걸 어케 외우지? 했는데 조금만 들여다보니 무식하게 영어를 해석하기만 하면 된다.

NULLIF (A, B) : NULL로 해라. IF 만약에 A가 B이면!

IFNULL (A, B) : IF 만약에 A가 NULL 이면 B해라!

SELECT  WAREHOUSE_ID, 
        WAREHOUSE_NAME, 
        ADDRESS, 
        IFNULL(FREEZER_YN, 'N') FREEZER_YN
  FROM  FOOD_WAREHOUSE
 WHERE  ADDRESS LIKE '%경기%'
 ORDER
    BY  WAREHOUSE_ID
  ;

 

이름이 없는 동물의 아이디
#ISNULL

 

NULL값이 조건으로 주어질 때는 WHERE절 활용하기!

SELECT  ANIMAL_ID
  FROM  ANIMAL_INS
 WHERE  NAME IS NULL
 ORDER
    BY  ANIMAL_ID
  ;

 

이름이 있는 동물의 아이디
#ISNOTNULL
SELECT  ANIMAL_ID
  FROM  ANIMAL_INS
 WHERE  NAME IS NOT NULL
 ORDER
    BY  ANIMAL_ID
  ;

 

NULL 처리하기
#IFNULL
SELECT  ANIMAL_TYPE, 
        IFNULL(NAME,'No name') NAME, 
        SEX_UPON_INTAKE
  FROM  ANIMAL_INS
 ORDER
    BY  ANIMAL_ID
  ;

 

나이 정보가 없는 회원 수 구하기
#ISNULL
SELECT  COUNT(*) USERS
  FROM  USER_INFO
 WHERE  AGE IS NULL
  ;

 


 

쫄은 것에 비해 역시나 너무 쉽게 끝난 챕터...

앞으로 더 어려운 문제가 기대된다!