노트1/SQL
[MySQL] 프로그래머스 문제풀이 : IFNULL(), NVL(), CASE문
Paige09
2022. 2. 10. 15:12
프로그래머스 > 코딩테스트 연습 > SQL 고득점 Kit
https://programmers.co.kr/learn/challenges
https://programmers.co.kr/learn/courses/30/lessons/59410
코딩테스트 연습 - NULL 처리하기
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
NVL(컬럼이름, NULL일때 출력할 대체값) - ORACLE
IFNULL(컬럼이름, NULL일때 출력할 대체값) - MySQL
ex. IFNULL(이름, '이름정보 없음')
이름 컬럼의 값이 NULL이면 '이름정보 없음'이라고 출력한다.
Q. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문 작성.
이때, 이름이 없는 동물의 이름은 "No name"
SELECT animal_type, IFNULL(name,'No name'), sex_upon_intake
FROM animal_ins
ORDER BY animal_id
CASE문을 활용한다면 아래와 같은 답.
SELECT animal_type,
CASE WHEN name IS NULL THEN 'No name' ELSE name END,
sex_upon_intake
FROM animal_ins
ORDER BY animal_id