SQL
[프로그래머스] [MySQL] LV.2 중성화 여부 파악하기 (CASE WHEN)
석원님
2023. 12. 27. 10:14
ANIMAL_INS 테이블에서 보호소의 동물이 중성화되었는지 아닌지 파악하는 문제이다.
중성화된 동물은 SEX_UPON_INTAKE 칼럼에 'Neutered' 또는 'Spayed' 라는 단어가 들어가 있다.
동물의 아이디, 이름, 중성화 여부를 아이디순으로 조회하는 SQL을 작성하세요. 이때 중성화가 되어있다면 'O' 아니면 'X'라고 표시해야함!
오키 보자마자 case when 쓰면 되겠다는 생각이 들었다.
SELECT ANIMAL_ID
,NAME
,CASE WHEN SEX_UPON_INTAKE LIKE 'Neutered%' OR
CASE WHEN SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'o' ELSE 'x' END AS '중성화'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
첨에 이렇게 쿼리를 짰었는데 정답이 아니라는것,,
그래서 case when 문법을 검색해보니 내 경우엔 OR로 연결하기 때문에 case when을 다시 쓸 필요가 없는거였다.
그리고 case when 두번째 사용부터는 case는 생략!
SELECT ANIMAL_ID
,NAME
,CASE WHEN SEX_UPON_INTAKE LIKE 'Neutered%' OR
SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'o' ELSE 'x' END AS '중성화'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
다시 쿼리를 짜고 이젠 되겠지? 하며 했는데 또 정답이 아니라더라
아니 도대체 왜?? 하다가
혹~~시나 싶어서 o 랑 x를 대문자로 바꿔서 O X 이렇게 하니까 되더라,,,
이정도는 맞다고해주지,,,
쨌든 뾰로롱 정답~