소근소근

[프로그래머스 - NULL 처리하기] MYSQL, IS NULL 본문

Algorithm

[프로그래머스 - NULL 처리하기] MYSQL, IS NULL

JJureng 2022. 2. 6. 15:36
728x90
반응형
SMALL

NAME이 NULL이면 'No name'으로 , NULL이 아니라면 이름을 표시하는 문제이다. 

 

UNION을 사용해서 풀었다. 

SELECT ANIMAL_TYPE, NAME , SEX_UPON_INTAKE
FROM 
((SELECT ANIMAL_TYPE, NAME , SEX_UPON_INTAKE , ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NOT NULL)
UNION
(SELECT ANIMAL_TYPE, 'No name' , SEX_UPON_INTAKE , ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NULL)) A
ORDER BY ANIMAL_ID

1. NULL인 경우는 SELECT에서 이름 대신 'No name' , 아닌 경우는 그대로 해서 두 개를 UNION 한다.

 


 

*실수 포인트

- derived table mus have its own alias 에러가 떴었다. 이유는, 두 결과를 union한 테이블을 alias를 주지 않아서다. 

( ) UNION ( ) A 이런식으로 줘야 한다.

- UNION을 하는 두 쿼리 SELECT에서 ANIMAL_ID 를 넣지 않고, ORDER BY ANIMAL_ID를 했다. 테이블에 ID가 당연히 있어야 정렬이 가능하다.

728x90
반응형
LIST