3월에 태어난 여성 회원 목록 출력하기 [SQL]

성배·2025년 2월 8일
0

코딩테스트

목록 보기
43/53

MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니
MEMBER_PROFILE 테이블에서 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성해주세요. 이때 전화번호가 NULL인 경우는 출력대상에서 제외시켜 주시고, 결과는 회원ID를 기준으로 오름차순 정렬해주세요.

생각한 풀이
1. 생일이 3월 여성, TLNO가 NULL이 아닌 사람들 출력
2. DATE_OF_BIRTH 타입은 YYYY-MM-DD로 타입 변환


SELECT MEMBER_ID,MEMBER_NAME,GENDER, SUBSTR(STR_TO_DATE(DATE_OF_BIRTH, '%Y-%m-%d'),1,10) AS DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE SUBSTR(DATE_OF_BIRTH,6,2)='03'
      AND GENDER='W'
      AND TLNO is not null

🐴 풀이
1. DATE_OF_BIRTH 타입이 이미 YYYY-MM-DD라 뒤에 나오는 DATE_TIME을 잘라주기 위해 SUBSTR로 사용
2. DATE_OF_BIRTH에서 03인 사람을 추출하기 위해 SUBSTR로 6번째 자리에서 2개를 자른 값이 03인 사람
3. 성별은 W이고 TLNO가 null이 아닌 is not null로 구분

0개의 댓글