SQL) NULL 처리하기
프로그래머스 SQL 코딩테스트를 풀다가 IF문을 처리하기 위해 정리하였다.
문제 설명
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다.
ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는
각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
NAME | TYPE | NULLABLE |
---|---|---|
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
INTAKE_CONDITION | VARCHAR(N) | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
문제
입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요.
이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 “No name”으로 표시해 주세요.
문제풀이
문제 자체는 간단했지만 IF문을 통해 어떻게 표현해야되는지가 막막하여 정리해두었다. 나머지는 똑같은 방식으로
SELECT, FROM 형식으로 사용하면 되고, IF (NAME IS NULL, "No name", NAME) as NAME
을 통해, NAME이 NULL이면 no name으로
표시해두게 만들면 된다.
## 결과
SELECT ANIMAL_TYPE, IF (NAME IS NULL, "No name", NAME) as NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
Comments