반응형
사이트명 : 프로그래머스(Programmers)
문제명 : 중성화 여부 파악하기
SQL : MySQL
ANIMAL_INS 테이블에서 SEX_UPON_INTAKE가 'Neutered' or 'Spayed'
로 시작할 경우 중성화 컬럼에 O를 주고 그렇지 않을 경우에는 X를 줘서
ANIMAL_ID, NAME, 중성화 컬럼 이렇게 3개를 반환하는 문제인데
마지막으로 ANIMAL_ID를 기준으로 오름차순 정렬을 해 줘야 한다
내 풀이방법은 아래와 같은데
MySQL에서는 Oracle의 Decode 대신 IF를 사용해주면 되는데
SEX_UPON_INTAKE를 1부터 8까지, 1부터 6까지 잘라봐서
'Neutered' 혹은 'Spayed' 라면 O 아니면 X를 중성화 컬럼에 넣어줘서 반환하면 되는데
마지막에 ORDER BY ANIMAL_ID 로 오름차순 정렬을 하는 것을 잊지 말자
프로그래머스에 바로 적용 가능한 코드는 아래와 같다
SELECT ANIMAL_ID, NAME, IF(SUBSTRING(SEX_UPON_INTAKE,1,8) = 'Neutered'
OR SUBSTRING(SEX_UPON_INTAKE,1,6) = 'Spayed', 'O', 'X') AS 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
반응형
'SQL > 문제풀이' 카테고리의 다른 글
프로그래머스 DATETIME에서 DATE로 형 변환 풀이(MySQL) (0) | 2019.09.09 |
---|---|
프로그래머스 오랜 기간 보호한 동물(2) 풀이(MySQL) (0) | 2019.09.09 |
프로그래머스 NULL 처리하기 풀이(MySQL) (0) | 2019.09.09 |
프로그래머스 이름이 있는 동물의 아이디 풀이(MySQL) (0) | 2019.09.09 |
프로그래머스 입양 시각 구하기(2) 풀이(MySQL) (1) | 2019.09.09 |
댓글