CodingSpace

[프로그래머스/SQL] 중성화 여부 파악하기 (feat. LIKE, IF) 본문

카테고리 없음

[프로그래머스/SQL] 중성화 여부 파악하기 (feat. LIKE, IF)

개발자_조이킴 2022. 3. 19. 21:45

Problem. 중성화 여부 파악하기


Link.

https://programmers.co.kr/learn/courses/30/lessons/59409

 

코딩테스트 연습 - 중성화 여부 파악하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr


Description.

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다.

ANIMAL_INS 테이블 구조는 다음과 같습니다.

  • ANIMAL_ID: 동물의 아이디
  • ANIMAL_TYPE: 생물 종
  • DATETIME: 보호 시작일
  • INTAKE_CONDITION: 보호 시작 시 상태
  • NAME: 이름
  • SEX_UPON_INTAKE: 성별 및 중성화 여부

 

ANIMAL_INS 테이블에서 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요.

※ 중성화가 되어있다면 'O', 아니라면 'X'라고 표시하시오.

※ 중서화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다.


Key Point. 

본 문제는 IF문을 사용해 쿼리문을 작성했다.MySQL IF문은 일반적으로 Javascript 코드와 유사하게 사용하면 된다.

 

IF(조건문, true일 때, false일 때)

 

문제는 중성화 여부(조건)에 따라 표시('O', 'X')를 달리해주면 된다.여기서 중성화가 아닌 경우를 조건을 잡았다.

IF(SEX_UPON_INTAKE LIKE 'Intact%', 'X', 'O')

 

SEX_UPON_INTAKE 필드에 Intact으로 시작하는 경우 'X'로 표시하고,

Intact으로 시작하지 않는다면 'O'로 표시하도록 했다.  


My Answer. 

SELECT ANIMAL_ID, NAME, IF(SEX_UPON_INTAKE LIKE 'Intact%', 'X', 'O') AS '중성화'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID

References. 

'박영빈'님의 풀이를 참고했습니다: https://programmers.co.kr/questions/26026

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

Comments