본문 바로가기
코딩테스트/SQL

[프로그래머스] IS NULL 〉Lv2. NULL 처리하기

by imsha 2021. 10. 20.

문제 설명

 


예시

 


풀이 방법

동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 문제입니다. 단, NULL로 되어 있는 이름이 없는 동물의 이름은 "No name"으로 표시해야 합니다. 이를 위해 공백치환 함수를 사용하는데 각 DB종류에 따라 다르게 사용합니다. 

  • Oracle : NVL(컬럼명, "Value")
  • My SQL :  IFNULL(컬럼명, "Value")
  • MS SQL : ISNULL(컬럼명, "Value")

이처럼 공백치환 함수를 사용하여 해당 컬럼이 NULL이면 Value값으로 치환할 수 있습니다. 즉, 문제에서 이름이 없는 동물의 이름을 "No name"으로 표시 하라고 하였으므로 DB종류에 맞는 쿼리에 맞게 위 함수를 사용하여 (NAME, "No name")을 추가 합니다. 

 


문제 풀이

#Oracle
SELECT ANIMAL_TYPE, NVL(NAME,'No name') AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
#My SQL
SELECT ANIMAL_TYPE, IFNULL(NAME,'No name') AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID

 


실행 결과

댓글