본문 바로가기
개발/database

[Oracle] programmers - 중성화 여부 파악하기

by ujin2021 2021. 8. 5.

문제 : 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

중성화를 한 동물은 O, 안한 동물은 X로 표시하여 ID, NAME과 함께 출력합니다. ID로 오름차순 정렬하는 문제입니다.

 

풀이

-- 코드를 입력하세요
SELECT ANIMAL_ID, NAME, 
CASE WHEN SEX_UPON_INTAKE LIKE 'Intact%' THEN 'X'
     -- WHEN SEX_UPON_INTAKE NOT LIKE 'Intact%' THEN 'O'
     ELSE 'O'
     END AS 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

Oracle의 case 문으로 풀이 가능합니다.

Intact가 아니면 O이기 때문에 ELSE로 처리하는 것이 더 나은 것 같습니다.

CASE문이 끝날 땐 END를 붙이고, 출력할 때 컬럼 이름을 정해줄 수 있습니다.