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

yannie·2024년 9월 12일
0

[문제]

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

[내가 푼 풀이(오답)]

SELECT
    MEMBER_ID,
    MEMBER_NAME,
    GENDER,
    DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE TLNO IS NOT NULL
    AND MONTH(DATE_OF_BIRTH) = 03
ORDER BY MEMBER_ID
;
  • 틀린 이유 : WHERE절에서 성별 필터링을 하지 않았다..

[내가 푼 풀이(정답)]

SELECT
    MEMBER_ID,
    MEMBER_NAME,
    GENDER,
    DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE TLNO IS NOT NULL
    AND MONTH(DATE_OF_BIRTH) = 3
    AND GENDER = 'W'
ORDER BY MEMBER_ID
;

[코드리뷰]

  • 필터링 해야 하는 조건은 총 3가지이다.
    1. 여성회원
    2. 전화번호가 NULL이 아닌 사람
    3. 생일이 3월
    • WHERE절을 통해 3가지의 조건을 모두 필터링 해야한다.

기억해!

MONTH()함수를 사용하면 결과값은 문자열이 아닌 숫자 형식의 월 값을 반환하므로, 숫자로 비교해야 한다.

0개의 댓글