알고리즘/SQL 풀이
[MySQL] 중성화 여부 파악하기
sesam
2023. 10. 12. 11:25
728x90
문제
풀이
📌 CASE → 조건문
WHEN SEX_UPON_INTAKE = 'Neutered Male' OR SEX_UPON_INTAKE = 'Spayed Female' → WHEN 조건에 해당되면,
THEN 'O' → TEHN 'O' 반환
ELSE 'X' → 그렇지 않으면 'X' 반환
END AS '중성화' → END : CASE문 종료, AS: 결과값의 열 이름
✔ CASE문
1) WHEN - THEN은 항상 같이 사용하기
2) WHEN - THEN 개수 상관 없음
3) ELSE가 없고, WHEN - THEN 조건 충족하지 않으면 NULL 값 반환
4) 조건문 마지막에 END 꼭 써주기
CASE
WHEN 조건1 THEN 조건1 충족할 때 반환되는 값
WHEN 조건2 THEN 조건2 충족할 때 반환되는 값
WHEN 조건3 THEN 조건3 충족할 때 반환되는 값
ELSE 모든 조건 해당되지 않을 때 반환되는 값
END (AS '열 별칭")
📌 ORDER BY ANIMAL_ID;
ANIMAL_ID로 정렬
정답
SELECT ANIMAL_ID, NAME,
CASE
WHEN SEX_UPON_INTAKE = 'Neutered Male' OR SEX_UPON_INTAKE = 'Spayed Female'
THEN 'O'
ELSE 'X'
END AS '중성화'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
오답이었던 이유
CASE문에서 조건절을 WHEN을 사용해야하는데, WHERE을 사용했다.