CASE ~ WHEN ~ THEN ~ ELSE END 문을 써야했던 문제였습니다.

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

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/59409

 

코딩테스트 연습 - 중성화 여부 파악하기 | 프로그래머스

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS

programmers.co.kr

 

IFNULL을 사용해야 하는 문제였습니다. IFNULL(A, B)은 A가 NULL이면 B를, 그렇지 않다면 A가 나옵니다.

SELECT 
    ANIMAL_TYPE, 
    IFNULL(NAME, "No name") AS NAME, 
    SEX_UPON_INTAKE 
FROM 
    ANIMAL_INS

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/59410

 

코딩테스트 연습 - NULL 처리하기 | 프로그래머스

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS

programmers.co.kr

 

SELECT 
    ANIMAL_ID 
FROM 
    ANIMAL_INS 
WHERE   
    NAME IS NOT NULL

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/59407

 

코딩테스트 연습 - 이름이 있는 동물의 아이디 | 프로그래머스

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS

programmers.co.kr

 

변수를 써야하는 문제였습니다. sql문에서 변수를 써서 많이 헷갈렸습니다.

SET @hour = -1; 

SELECT 
    @hour := @hour + 1 AS HOUR, 
    ( 
        SELECT 
            COUNT(DATETIME) 
        FROM  
            ANIMAL_OUTS B 
        WHERE 
            HOUR(DATETIME) = @hour 
    ) AS COUNT 
FROM    
    ANIMAL_OUTS A 
WHERE 
    @hour < 23

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/59413

 

코딩테스트 연습 - 입양 시각 구하기(2) | 프로그래머스

ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FA

programmers.co.kr

 

SELECT 
    HOUR(DATETIME) AS HOUR, 
    COUNT(DATETIME) AS COUNT 
FROM 
    ANIMAL_OUTS 
WHERE 
    HOUR(DATETIME) >= 9 
AND 
    HOUR(DATETIME) <= 19 
GROUP BY 
    HOUR

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/59412

 

코딩테스트 연습 - 입양 시각 구하기(1) | 프로그래머스

ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FA

programmers.co.kr

 

+ Recent posts