Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 중성화 여부 파악하기 (MySQL) 본문

DB/프로그래머스(MySQL)

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

luke-king 2025. 8. 19. 14:26

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

풀이.


SELECT ANIMAL_ID, NAME,
    CASE
        WHEN (SEX_UPON_INTAKE LIKE '%Neutered%') OR (SEX_UPON_INTAKE LIKE '%Spayed%') THEN 'O'
        ELSE 'X'
    END '중성화'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID

이번 문제는 프로그래머스 "중성화 여부 파악하기" SQL 문제다.

문제에서 중요한 부분은 조건에 만족하는 값이라면 'O' 그렇지 않다면 'X' 값으로 넣어줘야 한다는 점이다.

문제를 풀기 위해서는 CASE문을 활용 해 볼 거다. 그럼 바로 풀이해보겠다.

 

(풀기 전 밑에 CASE문 이 어떻게 사용하는지 확인!)

CASE
WHEN 조건1 THEN 조건1 충족할 때 반환되는 값
WHEN 조건2 THEN 조건2 충족할 때 반환되는 값
WHEN 조건3 THEN 조건3 충족할 때 반환되는 값
ELSE 모든 조건 해당되지 않을 때 반환되는 값
END

 

1. LIKE를 사용해서 %...%로 Neutered 이 일치하고 앞뒤로 뭐가 오든 상관없게 해 준다.

 

2. Spayed 역시 위 1번 방법과 같다.

 

3. END 뒤에 '중성화' 별칭을 적어준다. (END 뒤에 별칭을 적어주는 것은 SEX_UPON_INTAKE 컬럼을 뜻 한다.)