본문 바로가기
개발일지/코테 정복기

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

by 리콩알 2023. 8. 4.
반응형

문제 설명

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

 COLUMN NAME  TYPE  NULLABLE 
 MEMBER_ID  VARCHAR(100)  FALSE
 MEMBER_NAME  VARCHAR(50)  FALSE
 TLNO  VARCHAR(50)  TRUE
 GENDER  VARCHAR(1)  TRUE
 DATE_OF_BIRTH DATE  TRUE

 

문제

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

 

예시

MEMBER_PROFILE 테이블이 다음과 같을 때,

 MEMBER_ID  MEMBER_NAME  TLNO  GENDER  DATE_OF_BIRTH
 jiho92@naver.com  이지호  01076432111  W  1992-02-12
 jiyoon22@hotmail.com  김지윤  01032324117  W  1992-02-22
 jihoon93@hanmail.net  김지훈  01023258688  M  1993-02-23
 seoyeons@naver.com  박서연  01076482209  W  1993-03-16
 yoonsy94@gmail.com  윤서연  NULL  W  1994-03-19

SQL을 실행하면 다음과 같이 출력되어야 합니다.

 MEMBER_ID  MEMBER_NAME  GENDER  DATE_OF_BIRTH
 seoyeons@naver.com  박서연  W  1993-03-16

 

주의사항

DATE_OF_BIRTH의 데이트 포맷이 예시와 동일해야 정답처리 됩니다

 

풀이

1. MEMBER_PROFILE 테이블에서

2. 생일이 3월인 여성 회원

3. ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성해주세요. 

4. 이때 전화번호가 NULL인 경우는 출력대상에서 제외시켜 주시고

5. 결과는 회원ID를 기준으로 오름차순 정렬해주세요.

 

SELECT MEMBER_ID
     , MEMBER_NAME
     , GENDER
     , TO_CHAR(DATE_OF_BIRTH,'YYYY-MM-DD') AS DATE_OF_BIRTH
 FROM MEMBER_PROFILE
WHERE TO_CHAR(DATE_OF_BIRTH,'MM') = '03'
  AND GENDER = 'W'
  AND TLNO IS NOT NULL
ORDER BY MEMBER_ID

 

코드풀이

SELECT MEMBER_ID -- 회원ID
     , MEMBER_NAME -- 회원 이름
     , GENDER -- 회원 성별
     , TO_CHAR(DATE_OF_BIRTH,'YYYY-MM-DD') AS DATE_OF_BIRTH -- 생년월일
      -- 결과값에서 생년월일 포맷이 YYYY-MM-DD로 되어있음으로 동일하게 변경
 FROM MEMBER_PROFILE
WHERE TO_CHAR(DATE_OF_BIRTH,'MM') = '03'
/* 생일이 3월인 회원을 조회하기 위해 CREATED_DATE컬럼의 DATE타입을 문자열 형태로 변경
   3월이 생일인 회원만 조회하므로 날짜 포맷을 'MM'로 변경 */
  AND GENDER = 'W' -- 여성 회원만 조회
  AND TLNO IS NOT NULL -- 전화번호가 null값인 경우 제외
ORDER BY MEMBER_ID -- 회원ID를 기준으로 오름차순 정렬

 

문제출처

https://school.programmers.co.kr/learn/courses/30/lessons/131120

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

도움이 되셨다면 공감 버튼과 댓글 남겨주세요오♥

반응형