프로그래머스에서 제공하는 SQL 고득점 Kit 문제 풀이 코드입니다. (정답 주의)
문제 링크
이름이 없는 동물의 아이디 (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;
반응형
'Tech > Problem Solving' 카테고리의 다른 글
[프로그래머스] SQL 고득점 Kit - String, Date (0) | 2022.03.01 |
---|---|
[프로그래머스] SQL 고득점 Kit - JOIN (0) | 2022.03.01 |
[프로그래머스] SQL 고득점 Kit - GROUP BY (0) | 2022.03.01 |
[프로그래머스] SQL 고득점 Kit - SUM, MAX, MIN (0) | 2022.03.01 |
[프로그래머스] SQL 고득점 Kit - SELECT (0) | 2022.03.01 |