반응형
https://programmers.co.kr/learn/courses/30/lessons/59409
[ 문제풀이 ]
조건문을 통해 원하는 컬럼을 처리를 할 수 있는지 묻는 문제이다. 조건문에 자주 사용하는 방법은 IF 문과 CASE WHEN 문이다.
주의해야 할 점은 LIKE 함수는 OR 연산을 적용하지 않는다. 즉, IF 문에서 LIKE 함수를 사용하기 위해선 두 번째 방식으로 해야 한다.
IF (SEX_UPON_INTAKE LIKE '%Neutered%' OR '%Spayed%', 'O', 'X') AS '중성화'
//이 방식은 OR 뒤의 문장을 걸러내지 못함
IF (SEX_UPON_INTAKE LIKE '%Neutered%' OR SEX_UPON_INTAKE LIKE '%Spayed%', 'O', 'X') AS '중성화'
//이 방식처럼 해야 둘다 걸러낼 수 있음
CASE WHEN 문은 조건을 CASE 별로 나누기 때문에 신경 쓸 필요가 없다.
-- IF 문 --
SELECT ANIMAL_ID, NAME,
IF (SEX_UPON_INTAKE LIKE '%Neutered%' OR SEX_UPON_INTAKE LIKE '%Spayed%', 'O', 'X') AS '중성화'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC;
-- CASE WHEN 문 --
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;
반응형
'Problem Solving > 프로그래머스 SQL' 카테고리의 다른 글
[프로그래머스 SQL] DATETIME에서 DATE로 형 변환 (0) | 2021.08.11 |
---|---|
[프로그래머스 SQL] 오랜 기간 보호한 동물(2) (0) | 2021.08.11 |
[프로그래머스 SQL] 이름에 el이 들어가는 동물 찾기 (0) | 2021.08.11 |
[프로그래머스 SQL] 루시와 엘라 찾기 (0) | 2021.08.11 |
[프로그래머스 SQL] 보호소에서 중성화한 동물 (0) | 2021.08.11 |
댓글