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

 

프로그래머스

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

programmers.co.kr

코드설명

SELECT + MONTH(DATE) + IS NOT NULL 를 활용합니다.

 

SQL쿼리는 회원 프로필 데이터에서 3월에 생일을 맞이하는 여성 회원 중 전화번호(TLNO)가 존재하는 회원들의 정보를 가져오는 것입니다.

 

  1. SELECT 문:
    • MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d'): 회원 ID, 회원 이름, 성별, 생년월일을 선택합니다. DATE_FORMAT 함수를 사용하여 생년월일을 원하는 형식으로 변환합니다.
  2. FROM 문:
    • FROM MEMBER_PROFILE: MEMBER_PROFILE 테이블에서 데이터를 가져옵니다.
  3. WHERE 문:
    • WHERE MONTH(DATE_OF_BIRTH) = 3: 생일이 3월인 회원을 필터링합니다.
    • AND TLNO IS NOT NULL: 전화번호가 NULL이 아닌 회원을 추가로 필터링합니다.
    • AND GENDER = 'W': 여성 회원을 추가로 필터링합니다.
  4. ORDER BY 문:
    • ORDER BY MEMBER_ID ASC: 회원 ID를 오름차순으로 정렬합니다.

코드

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

 

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

 

ORACLE

 

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

+ Recent posts