알고리즘/SQL

[String, Date] 프로그래머스 SQL 고득점 Kit

이진지니지니진 2023. 2. 24. 19:24

루시와 엘라 찾기

 

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

 

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

 

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

 

중성화 여부 파악하기

 

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

 

IF(조건, 참일 때 값, 거짓일 때 값)

IFNULL(컬럼명, NULL인 경우 값)

 

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

 

SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_OUTS A
    LEFT JOIN ANIMAL_INS B
    ON A.ANIMAL_ID = B.ANIMAL_ID
ORDER BY DATEDIFF(A.DATETIME, B.DATETIME) DESC
LIMIT 2

 

DATEDIFF(구분자, 시작 날짜, 끝 날짜) : 구분자(날짜, 시간, 주 등) 차이 구하기

 

 

DATETIME에서 DATE로 형 변환

 

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