프로그래밍 언어의 switch 문과 비슷
CASE
WHEN 조건1
THEN '반환값1'
WHEN 조건2
THEN '반환값2'
ELSE '조건에 맞지 않는 경우 반환값'
END
WHEN과 THEN은 한쌍이어야 하고, 여러개가 있을 수 있다
OR나 AND를 이용해 조건을 지정할 수 있다
ELSE가 존재하지 않다면, 모든 조건에 맞지 않을 때 NULL을 반환
- 예제 : 프로그래머스 '중성화 여부 파악하기' 문제
중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성
이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시
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;
NAME | TYPE | NULLABLE |
---|---|---|
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
INTAKE_CONDITION | VARCHAR(N) | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
[ANIMAL_INS 테이블 구조]
'컴 > 데이터베이스' 카테고리의 다른 글
WITH문 (0) | 2022.11.13 |
---|---|
MySQL - WHERE절 (0) | 2020.04.28 |
MySQL - 날짜 함수 (0) | 2020.04.19 |
MySQL - group by, having (0) | 2020.04.18 |
프로그래머스 - SQL 연습 (0) | 2020.04.16 |