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

eve·2023년 1월 17일
0

SQL

목록 보기
2/3
post-thumbnail

문제

중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다.
동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요.
이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요.

  • 예시 답안

풀이

계속 Neuter, Spayed라는 중복 조건을 해결하느라 오래 걸렸다.
처음에는 SELECT문에서 IF('Neutered%' OR 'Spayed%', 'O', 'X') 로 시도했는데 풀리지 않았다.
SQL에서 IF문은 (조건, 참일때 결과 값, 거짓일때 결과 값)을 인자로 받는데,
다중으로 들어간 조건 때문인지 아직 제대로 확인하지 못했다.

며칠 동안 시도해본 결과, CASE문으로 조건을 하나씩 따로 입력해 주어서 풀었다.

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
profile
유저가 왜 그랬을까

0개의 댓글