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