자료구조 및 알고리즘/프로그래머스

프로그래머스 - 3월에 태어난 여성 회원 목록 출력하기 (SQL)

viamemine 2024. 4. 17. 10:27
728x90
반응형


 

💬 내가 작성한 SQL 코드

 

SELECT MEMBER_ID, MEMBER_NAME, GENDER, 
    DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE GENDER = 'W'
AND SUBSTR(DATE_OF_BIRTH, 6, 2) = '03'
AND TLNO is not null
ORDER BY MEMBER_ID ASC;

# 1. ID, 이름, 성별, 생년월일을 조회
# 2. 생일이 3월인 여성 회원
# 3. 전화번호가 NULL인 경우는 출력대상에서 제외
# 4. 회원ID를 기준으로 오름차순 정렬

 


 

이번 문제는 어렵지 않았고, 

위에 주석으로 작성한 4가지 조건을 고려하여 코드를 작성하면 풀리는 문제였다.

 

주의해야 할 것이 두 가지 있었다면, 다음과 같다.

1. SUBSTR() 사용법

2. NULL 처리

 

SUBSTR("문자열", "시작위치", "길이")이다.

 

SUBSTR(DATE_OF_BIRTH, 6, 2) = '03' 이것을,

SUBSTR(DATE_OF_BIRTH, 6, 7) = '03'으로 작성하면 안된다.

 

세번째 인수는 길이라는 사실을 잊지 말아야 한다 !

 

NULL인 경우는, 컬럼명 is null(=NULL)

NULL이 아닌 경우는, 컬럼명 is not null(=NULL)으로 처리하면 된다.

 

 

 

 

728x90