프로그래머스-SQL

[프로그래머스-SQL] 프로그래머스 SQL Level2 중성화 여부 파악하기 MySQL

Doshisha 2022. 7. 1. 15:10

문제

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

 

코딩테스트 연습 - 중성화 여부 파악하기

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

programmers.co.kr

풀이

문제를 해결하기 위하여 CASE ~ WHEN 절을 사용하였다.

CASE ~ WHEN 절을 CASE WHEN [조건문] THEN [만족할 때 값] ELSE [만족하지 못했을 때 값] 형식으로 

사용해주어 조건문안에 LIKE 문으로 중성화 여부를 체크해주고, 중성화 하였다면  THEN을 통해 'O'를 아니면 ELSE를 통해 'X'를 반환해주어 정답을 구할 수 있다.

쿼리

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