[SQL][프로그래머스] String, Date 문제 풀이
728x90

조건별로 분류하여 주문상태 출력하기

 

프로그래머스

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

programmers.co.kr

-- 5월 1일 기준
-- 주문 ID, 제품 ID, 출고일자, 출고여부
-- 5월 1일까지 출고완료, 이후 날짜는 출고 대기, 미정이면 출고미정
-- 주문 ID 기준 오름차순

SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d') AS OUT_DATE,
       CASE WHEN  OUT_DATE <= '2022-05-01' THEN '출고완료'
            WHEN  OUT_DATE > '2022-05-01' THEN '출고대기'
            ELSE  '출고미정'
        END AS '출고여부'            
FROM FOOD_ORDER 
ORDER BY ORDER_ID

- 다시 풀어 보기

 

루시와 엘라 찾기

 

프로그래머스

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

programmers.co.kr

-- 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물
-- 아이디, 이름, 성별 및 중성화 여부
-- 아이디순

SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
ORDER BY ANIMAL_ID;

 

이름에 EL이 들어가는 동물 찾기

 

프로그래머스

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

programmers.co.kr

-- 이름에 EL이 들어가는 개의 아이디와 이름
-- 이름순
-- 대소문자 구분하지 않음

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE ANIMAL_TYPE = 'Dog' AND UPPER(NAME) LIKE '%EL%'
ORDER BY NAME;

 

중성화 여부 파악하기

 

프로그래머스

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

programmers.co.kr

-- NEUTERED 또는 SPAYED
-- 아이디, 이름, 중성화 여부
-- 아이디순
-- 중성화가 됐으면 O, 아니라면 X

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

 

오랜 기간 보호한 동물(2)

 

프로그래머스

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

programmers.co.kr

-- 보호 기간이 가장 길었던 동물 두 마리
-- 아이디, 이름
-- 보호 기간이 긴 순

SELECT AO.ANIMAL_ID, AO.NAME
FROM ANIMAL_OUTS AO INNER JOIN ANIMAL_INS AI
ON AO.ANIMAL_ID = AI.ANIMAL_ID
ORDER BY DATEDIFF(AO.DATETIME, AI.DATETIME) DESC
LIMIT 2;

 

카테고리별 상품 개수 구하기

 

프로그래머스

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

programmers.co.kr

-- 상품 카테고리 코드 앞 두자리별 상품 개수
-- 상품 카테고리 코드 기준 오름차순

SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(*) AS PRODUCTS
FROM PRODUCT
GROUP BY LEFT(PRODUCT_CODE, 2)
ORDER BY CATEGORY;

 

DATETIME에서 DATE로 형 변환

 

프로그래머스

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

programmers.co.kr

-- 아이디와 이름, 들어온 날짜
-- 아이디순

SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d')
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
728x90