Every Step Matters

[프로그래머스 Lv.2] NULL 처리하기 (MySQL) 본문

Database/SQL

[프로그래머스 Lv.2] NULL 처리하기 (MySQL)

imnyoung 2025. 12. 2. 17:26

문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/59410

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

1. 테이블 : 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

 

2. 문제

입양 게시판에 동물 정보를 게시하려 합니다. (1) 동물의 생물 종, 이름, 성별 및 중성화 여부 (2) 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, (3) 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요.

본 문제는 Kaggle의 "Austin Animal Center Shelter Intakes and Outcomes"에서 제공하는 데이터를 사용하였으며 ODbL의 적용을 받습니다.

 

3. 문제 풀이

(1) 종, 이름, 성별 및 중성화 여부 조회

SELECT animal_type, name, sex_upon_intake
FROM animal_ins

(2) 아이디 순 조회

ORDER BY animal_id

(3) 이름이 없는 동물의 이름은 'No name'으로 표시

IFNULL() 함수 이용해서 이름이 없으면 'No name'으로 표시되도록 하고, 별칭을 name으로 지어줌

SELECT animal_type, IFNULL(name, 'No name') name, sex_upon_intake

 

4. 정답

따라서 정답은

SELECT animal_type, IFNULL(name, 'No name') name, sex_upon_intake
FROM animal_ins
ORDER BY animal_id