[프로그래머스][LV.2] 3월에 태어난 여성 회원 목록 출력하기 | Oracle

2025. 3. 19. 19:43프로그래머스/SQL

문제링크:  3월에 태어난 여성 회원 목록 출력하기

 


문제설명

다음은 식당 리뷰 사이트의 회원 정보를 담은 MEMBER_PROFILE 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니다.

 

문제

MEMBER_PROFILE 테이블에서 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성해주세요. 이때 전화번호가 NULL인 경우는 출력대상에서 제외시켜 주시고, 결과는 회원ID를 기준으로 오름차순 정렬해주세요.

제한조건

 


 

문제풀이

📌 SQL 문법 정리 (TO_CHAR, IS NOT NULL)

1. TO_CHAR 함수

📌 역할: 숫자 또는 날짜 데이터를 문자열로 변환하는 함수

📌 기본 문법:

TO_CHAR(컬럼명, '포맷')
  • 컬럼명: 변환할 숫자 또는 날짜 데이터
  • '포맷': 변환할 문자열 형식 지정

📌 예제:

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') AS TODAY FROM DUAL;
  • 현재 날짜(SYSDATE)를 'YYYY-MM-DD' 형식의 문자열로 변환

📌 활용 예시:

TO_CHAR(DATE_OF_BIRTH, 'YYYY-MM-DD')
  • DATE_OF_BIRTH(생년월일) 값을 'YYYY-MM-DD' 형태의 문자열로 변환
TO_CHAR(DATE_OF_BIRTH, 'MM') = '03'
  • DATE_OF_BIRTH에서 월(Month) 부분을 추출하여 3월('03')인지 비교

2. IS NOT NULL

📌 역할: 특정 컬럼이 NULL이 아닌 데이터를 조회할 때 사용

📌 기본 문법:

컬럼명 IS NOT NULL
  • 컬럼명이 NULL이 아닌 경우만 조회

📌 예제:

SELECT MEMBER_ID, MEMBER_NAME FROM MEMBER_PROFILE WHERE TLNO IS NOT NULL;
  • TLNO(전화번호)가 NULL이 아닌 멤버만 조회

📝 정리

문법 설명

TO_CHAR(날짜, 'YYYY-MM-DD') 날짜를 'YYYY-MM-DD' 형식의 문자열로 변환
TO_CHAR(날짜, 'MM') = '03' 날짜에서 월(Month)만 추출하여 3월인지 비교
컬럼명 IS NOT NULL 해당 컬럼이 NULL이 아닌 데이터만 조회

✅ TO_CHAR는 날짜나 숫자를 문자열로 변환할 때 사용
✅ IS NOT NULL은 특정 컬럼이 NULL이 아닌 데이터만 가져올 때 사용

 

 

나의코드

SELECT MEMBER_ID, MEMBER_NAME, GENDER, to_char(DATE_OF_BIRTH,'YYYY-MM-DD') as DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE GENDER='W'
AND to_char(DATE_OF_BIRTH,'MM')='03'
AND TLNO IS NOT NULL
ORDER BY MEMBER_ID;코드

 


 

더보기

참고하기