blueorpurple

프로그래머스 코딩테스트 연습 SQL Level 2 : NULL 처리하기 본문

SQL

프로그래머스 코딩테스트 연습 SQL Level 2 : NULL 처리하기

에테RR 2021. 7. 17. 17:50

https://programmers.co.kr/learn/courses/30/lessons/59410

 

코딩테스트 연습 - NULL 처리하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr


내가 지금까지 연습한 범위 내에서는 NULL 값을 처리하는 방법이 CASE WHEN이랑 COALSESCE가 전부인데, 저 새로운 열을 만들지 않는 방법은 없을까??

이렇게 실행을 하면

SELECT ANIMAL_TYPE, NAME, SEX_UPON_INTAKE, COALESCE(NAME, 'NO NAME') 
FROM ANIMAL_INS 
ORDER BY ANIMAL_ID;


새로운 열이 생긴다 무슨 방법을 써야 할까?


결국 어떻게 해야 열을 그대로 보낼 수 있을지를 생각하다가 모르겠어서 질문 목록을 보고 정답을 보고 말았다...
질문에 mysql 정답을 보고 깨달았다!
COALESCE(1,2) AS COLUMN_NAME으로 SELECT에 바로 넣을 수 있구나... 신기하다

-- 코드를 입력하세요 
-- SELECT * FROM ANIMAL_INS ORDER BY NAME ASC; 
SELECT ANIMAL_TYPE, COALESCE(NAME,'No name') AS NAME, SEX_UPON_INTAKE 
FROM ANIMAL_INS 
ORDER BY ANIMAL_ID ASC;


그리고 저렇게 했는데 계속 오류가 나서 왜지 했는데 No name 이라고 해야 되는데 NO NAME, No Name이라고 시도하고 있어서 계속 틀린 거였다.

SQL 연습을 꾸준히 해야겠다

이 문제는 명령이 처리되는 내부 순서를 잘 알아야 이해를 할 수 있는 문제같다.

Comments