개인 공부 공간/SQL

[프로그래머스] SQL Kit - IS NULL

Hoon Kang 2021. 3. 16. 16:54

[프로그래머스] IS NULL


프로그래머스 코딩테스트 연습 SQL Kit에 있는 IS NULL 문제 풀이 입니다.

 

  1. 이름이 없는 동물의 아이디
  2. 이름이 있는 동물의 아이디
  3. NULL 처리하기

모든 문제는 다음의 ANIMAL_INS 테이블을 바탕으로 주어집니다.

프로그래머스table2.PNG


1. 이름이 없는 동물의 아이디

문제

동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.

 

SELECT ANIMAL_ID 
FROM ANIMAL_INS 
WHERE NAME IS NULL 
ORDER BY ANIMAL_ID;

 

이름이 없는 채로 들어온 동물의 ID만 조회하기 위해 WHERE NAME IS NULL 을 사용했습니다.

2. 이름이 있는 동물의 아이디

문제

동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.

 

SELECT ANIMAL_ID 
FROM ANIMAL_INS 
WHERE NAME IS NOT NULL
ORDER BY ANIMAL_ID;

 

이번에는 이름이 있는 동물의 ID를 조회하기 위해 WHERE NAME IS NOT NULL 을 사용했습니다.

3. NULL 처리하기

문제

입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 No name으로 표시해 주세요.

 

SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name') AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID

 

IFNULL 은 해당 컬럼의 값이 NULL인 경우 다른 값으로 출력할 수 있도록 하는 함수입니다.

IFNULL(컬럼명, '병경할 값')