Database

중성화 여부 파악하기 - CASE WHEN 조건 THEN 값 WHEN 조건 THEN 값 ELSE 값 END AS 컬럼별칭

리차드 2020. 11. 25. 00:35

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이기 때문에 DECODE를 사용할 수도 있었겠다.
아직은 DECODE도, CASE WHEN도 정확한 사용법이 손에 익질 않았다.
면접 보러 다니던 중 한 곳에서 손코딩으로 CASE WHEN을 요구받은 적도 있었다.

CASE WHEN 사용법
컬럼명을 선택하는 곳에서 CASE WHEN을 열고 조건 THEN 값 WHEN 다른 조건 THEN 값을 나열하고
ELSE 값 으로 DEFAULT처리를 해주고 END로 CASE 문을 닫고 AS 컬럼별칭을 설정해주면 된다.

이젠 잊지 말자.

 

 

1
2
3
4
5
6
7
8
9
10
SELECT ANIMAL_ID, NAME, 
        CASE WHEN (SEX_UPON_INTAKE LIKE 'Neutered%' OR SEX_UPON_INTAKE LIKE 'Spayed%') THEN 'O'
            ELSE 'X' 
        END AS 중성화
FROM ANIMAL_INS ORDER BY ANIMAL_ID
 
--CASE WHEN 조건 THEN 값
--        WHEN 조건 THEN 값
--        ELSE 값
--END AS 컬럼별칭
cs