알고리즘/MYSQL

[프로그래머스,MYSQL] Level2: 중성화 여부 파악하기

류창 2022. 1. 12. 20:34
반응형

 

문제분석 

 

보호소의 동물이 저장된 테이블에서  중성화여부가 Neutered 와 Spayed 인 동물들을 조사한뒤,

 

맞으면 O  틀리면 X로 중상화 여부를 나타내는 문제다.

 

문제풀이

 

1
2
3
-- 코드를 입력하세요
SELECT ANIMAL_ID,NAME,IF(SEX_UPON_INTAKE regexp "^Neutered|^Spayed","O","X")
from ANIMAL_INS
cs

2가지 풀이법이존재한다. 첫번째론 IF문을 사용하는것이다.

 

IF( 조건 , 참일때 ,거짓일때) 의 기능을 구현하는것이다.

 

조건문은 regexp 인 정규표현식으로 나타내었다. 정규표현식을 해석하자면

 

-> "Neutered로 시작하거나 Spayed로 시작한 단어라면" 이다.

 

1
2
3
4
5
6
7
8
9
10
11
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
cs

두번째론 Case문으로 사용하는것이다.

 

When으로 조건문을쓰고 맞으면 THEN 'O' 틀리면 ELSE 'X'를 써준다.

반응형