Re:제로부터 시작하는 갓생

[MySQL] NULL 처리하기_Lv.2 본문

Tech Stack/SQL

[MySQL] NULL 처리하기_Lv.2

기븜 2024. 12. 21. 13:40
문제 https://school.programmers.co.kr/learn/courses/30/lessons/59410
 

프로그래머스

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

programmers.co.kr

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요.

 

요구사항

아이디 기준 오름차순

animal type, name, sex upon intake 조회

이름 Null값은 No name으로 변경 삽입

 

풀이방법
더보기
-- 방법1
SELECT animal_type, 
       if(name is null, "No name") as Name,
       sex_upon_intake
from animal_ins
order by animal_id

-- 방법2
SELECT animal_type, 
       ifnull(name, "No name"),
       sex_upon_intake
from animal_ins
order by animal_id

-- 방법3
SELECT
    animal_type,
    COALESCE(name, 'No name') name,
    sex_upon_intake
FROM
    animal_ins;

 

배운점

Null값 대신 다른 단어 삽입방법: COALESCE

select 조건, coalesce(기존컬럼명, '바꿀단어')

from 테이블명