알고리즘/프로그래머스

프로그래머스 SQL 고득점 Kit 코드 총정리 (MySQL) : String, Date

개발하는 크롱 2021. 3. 19. 02:03
반응형

String, Date

루시와 엘라 찾기 (Level 2)

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

이름에 el이 들어가는 동물 찾기 (Level 2)

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE NAME LIKE '%el%' AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME

LIKE를 사용하면 원하는 패턴의 문자열을 찾을 수 있다.
LIKE 다음에 찾고자 하는 문자열 패턴을 적으면 된다.
% 기호는 아무 부분 문자열에 대입된다. 길이가 0인 문자열도 포함이다.
_ 는 아무 한 글자에 대입 된다.
패턴은 case sensitive하니 주의하자!

중성화 여부 파악하기 (Level 2)

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

IF (조건, 조건 만족시 값, 불만족 시 값)으로 컬럼을 구성 가능하다.

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

SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS I INNER JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID
ORDER BY (O.DATETIME - I.DATETIME) DESC
LIMIT 2

DATETIME에서 DATE로 형 변환 (Level 2)

SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS 날짜
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
반응형