SQL

[SQL] 프로그래머스 고득점 kit - String, Date / 중성화 여부 파악하기

pearhyunjin 2024. 3. 14. 23:43

 

 

프로그래머스 SQL 고득전 kit를 풀어보고 정리한 내용입니다.

맞춘 정답과 틀린 경우 생각해내지 못한 문법 위주로 작성하였습니다.

정리 내용 출처는 아래를 참고해 주세요.

 


 

Lv.2 중성화 여부 파악하기

 

 

 

처음 작성 답안

 

IF()를 이용해 찾을 데이터에 조건을 주고, 그에 해당하는 내용들을 '중성화' 컬럼명으로 생성해주었다.

이때, IF 안에 컬럼명, LIKE, 지정명칭 총 3가지를 전부 작성해주어야한다. 즉, OR로 조건을 연결할때 그 중 어떤것도 생략되면 안된다.

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

 

 

추가 답안

 

CASE WHEN ~ THEN ~ ELSE ~ END AS ~

위 방식을 이용해 조건에 따라 여러 결과를 갖는 내용을 생성.

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