CS/SQL

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

abcodef 2023. 7. 5. 17:59

간단하다고 생각했지만, DATE에서 막혔다.
매일 SQL 1문제씩 풀면서 감을 찾고 있어서 좋다.

문제에서 요구하는 조건

  1. 생일이 3월이고, 성별이 여성인 회원 조회
  2. 전화번호가 NULL인 경우 출력대상에서 제외
  3. 회원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)=3 AND GENDER ='W' ORDER BY MEMBER_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)=3 AND GENDER ='W'
  • 전화번호가 없는 경우 출력에서 제외하기 위해 IS NOT NULL 사용
  • MONTH()를 사용해 월만 비교함. 관련해서 추후 정리할 예정
  • 성별이 여성인 경우만 조회
ORDER BY MEMBER_ID
  • MEMBER_ID를 기준으로 오름차순 정렬
  • 오름차순 정렬이 기본값이므로 ASC를 적지 않음