Tech/Problem Solving
[프로그래머스] SQL 고득점 Kit - IS NULL
Bellroute
2022. 3. 1. 22:21
프로그래머스에서 제공하는 SQL 고득점 Kit 문제 풀이 코드입니다. (정답 주의)
문제 링크
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이름이 없는 동물의 아이디 (level 1)
WHERE 구문에서 IS NULL이라는 키워드를 통해 NULL에 대한 조건 처리가 가능하다.
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NULL
이름이 있는 동물의 아이디 (level 1)
WHERE 구문에서 IS NOT NULL이라는 키워드를 통해 NULL이 아닌 데이터에 대한 조건 처리가 가능하다.
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
NULL 처리하기 (level 2)
방법 1. IF(조건, 참일 경우 값, 거짓일 경우 값)
방법 2. IFNULL(판별할 컬럼, null일 경우 값)
방법 3. CASE-END 사이에 WHEN-THEN절을 이용하여 조건에 대한 처리 가능. WHEN-THEN절은 여러 개가 가능하고, 어느 WHEN의 조건에도 해당하지 않을 경우에 대해서는 ELSE로 처리
# IF를 이용한 방법
SELECT ANIMAL_TYPE, IF(NAME IS NULL, 'No name', NAME) AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
# IFNULL을 이용한 방법
SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name') AS 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;
반응형