NullNull

프로그래머스 SQL NULL 처리하기 본문

SQL

프로그래머스 SQL NULL 처리하기

KYBee 2022. 2. 28. 22:00

Data 구조

ANIMAL_INS : 동물 보호소에 들어온 동물의 정보를 담은 테이블

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"으로 표시해 주세요.

 

예시

Input:

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

Output:

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

 

정답:

COALESCE 를 사용하는 문제였습니다. COALESCE는 첫 번째로 전달되는 값이 NULL이 아니면 그 값을 그대로 출력하고, NULL이라면 두번째로 전달된 인자 값을 출력합니다.

따라서 NAME이 NULL인 경우에 No name을 출력하게 됩니다.

SELECT ANIMAL_TYPE, COALESCE(NAME, 'No name'), SEX_UPON_INTAKE FROM ANIMAL_INS

 

 

 

Comments