[프로그래머스][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;코드
더보기
참고하기
'프로그래머스 > SQL' 카테고리의 다른 글
[프로그래머스][LV.2] 업그레이드 된 아이템 구하기 | python3 (0) | 2025.03.25 |
---|---|
[프로그래머스][LV.2] 재구매가 일어난 상품과 회원 리스트 구하기 | Oreacle (0) | 2025.03.22 |
[프로그래머스][LV.3] 과일로 만든 아이스크림 고르기 | Oracle (0) | 2025.03.22 |
[프로그래머스][LV.1] 조건에 맞는 도서 리스트 출력하기 | Oracle (0) | 2025.03.20 |
[프로그래머스][LV.1] 흉부외과 또는 일반외과 의사 목록 출력하기 | Oracle (1) | 2025.03.18 |