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을 사용했다.
'알고리즘 > SQL 풀이' 카테고리의 다른 글
[MySQL] 카테고리 별 상품 개수 구하기 (0) | 2023.10.15 |
---|---|
[MySQL] 고양이와 개는 몇 마리 있을까 (0) | 2023.10.13 |
[MySQL] 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2023.10.12 |
[MySQL] DATETIME에서 DATE로 형 변환 (0) | 2023.10.11 |
[MySQL] NULL 처리하기 (0) | 2023.10.10 |