문제
풀이
SELECT ANIMAL_ID, NAME,
CASE WHEN SEX_UPON_INTAKE LIKE 'Neutered%' THEN 'O'
WHEN SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'O'
ELSE 'X'
END AS '중성화'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
CASE WHEN
case when 역시 if-else 처럼 조건을 지정해줄 때 사용해주는 구문이다.
CASE WHEN 조건1 THEN 조건1의 결과값
WHEN 조건2 THEN 조건2의 결과값
ELSE 조건이 충족되지 않을 때의 결과값
END
* CASE WHEN 구문은 END로 꼭 닫아줘야함
해당 문제에서는 중성화가 된 애들은 O로 표현해주고 아닌 애들은 X로 표현해 줘야한다.
근데 중성화된 애들은 SEX_UPON_INTAKE 컬럼에 Neutered 또는 spayed가 포함된다 했으니 SELECT문에
CASE WHEN SEX_UPON_INTAKE LIKE 'Neutered%' THEN 'O'
WHEN SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'O'
ELSE 'X'
END AS '중성화'
이렇게 적어주면 된다