기록하고 까먹지 말기

(SQL) 중성화 여부 파악하기 본문

전공/프로그래머스

(SQL) 중성화 여부 파악하기

yha97 2023. 10. 1. 11:39

날짜 : 2023. 10. 01

사용 언어 : oracle

 

문제

https://school.programmers.co.kr/learn/courses/30/lessons/59409?language=oracle

 

 

코드

-- 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어
-- 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문
-- 중성화가 되어있다면 'O', 아니라면 'X'라고 표시
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 asc -- 아이디 순으로 조회
;

 

 

풀이

- 중성화가 되어있는 경우에는 sex_upon_intake 칼럼에서 Neutered 또는 Spayed 로 지작하기 때문에 case when 을 사용해 해당 데이터가 출력될 때 값을 변환한다.

- 그리고 조건에 맞게 정렬한 다음 값을 출력한다.

 

 

알게된 점

- alias에서 막혀 계속 오답이 발생했다.

- 문자열은 작은따옴표, 컬럼명은 큰따옴표. 외우자

 

 

참고 사이트