AI/SQL

[SQL] 날짜 변환 DATE_FORMAT, YEAR, null값 대체 IFNULL, 특정 문자열 포함 LIKE, IN

brave_sol 2024. 12. 2. 20:58
프로그래머스 SQL 고득점 kit 1일차( SELECT level1-15문제)

 

1. 날짜 형식 변경 : DATE_FORMAT, YEAR()

DATE_FORMAT(컬럼명, '%Y-%m-%d')

# 변경전 : 2020-03-01 00:00:00
# 변경후 : 2020-03-01

YEAR(컬럼명)
# 변경전 : 2020-03-01
# 변경후 : 2020

 

2. 0번째 행 조회: LIMIT

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1

3. 특정 문자열 포함: LIKE

SELECT FACTORY_ID, FACTORY_NAME, ADDRESS
FROM FOOD_FACTORY
WHERE ADDRESS LIKE "%강원도%"
ORDER BY FACTORY_ID

4. NULL값 대체 : IFNULL(컬럼명, 대체할 값)

SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO,'NONE') AS TLNO
FROM PATIENT
WHERE (AGE < 13) AND (GEND_CD = "W")
ORDER BY AGE DESC, PT_NAME

5. IN 연산자는 컬럼명과 문자열의 순서를 바꿔서도 사용 가능하다.

1) 컬럼명 IN (VALUE1, VALUE2): '컬럼명' 컬럼에서 VALUE1 또는 VALUE2를 찾는 경우

SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD,'%Y-%m-%d')
FROM DOCTOR
WHERE MCDP_CD IN ('CS','GS')
ORDER BY HIRE_YMD DESC, DR_NAME

2) VALUE IN (컬럼1, 컬럼2): 컬럼1 또는 컬럼2에서 VALUE를 찾을 경우

SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPER_INFOS
WHERE "Python" IN (SKILL_1,SKILL_2, SKILL_3)
ORDER BY ID
반응형