문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59410
SELECT ANIMAL_TYPE, IFNULL(NAME, "No name") AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC;
문제의 포인트는 NAME 속성이 NULL 인 경우에 속성값을 “No name” 으로 표기하는 것이다. MySQL에서는 NULL 처리를 위해 IFNULL()
함수를 사용할 수 있다.
SELECT IFNULL(속성, 대체값)
FROM 테이블;
IFNULL(속성, 대체값)
을 사용하면 해당 속성의 속성값이 NULL인 경우 결과 테이블에 속성값이 대체값
으로 표시된다. 속성의 속성값이 NULL이 아닌경우에는 원래의 속성값 그대로 표시된다.
이름(NAME)이 없는 동물은 “No name”으로 표시하기 위해, SELECT 절에 IFNULL(NAME, “No name”) AS NAME
을 작성한다. 결과 테이블에 속성이 “NAME”으로 표시 되어야하므로 AS NAME
을 같이 적어주었다.
아이디 순으로 조회, 즉 아이디 오름차순으로 조회하기 위해, ORDER BY ANIMAL_ID ASC
를 작성한다.