MEMBER_PROFILE 테이블에서 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성해주세요. 이때 전화번호가 NULL인 경우는 출력대상에서 제외시켜 주시고, 결과는 회원ID를 기준으로 오름차순 정렬해주세요.
문제링크
조건정리
1. 생일이 3월 / 여성 회원 / 전화번호 NULL 아님
2. 회원 ID 기준 오름차순 정렬
3. 회원 ID, 이름, 성별, 생년월일 조회
풀이
SELECT MEMBER_ID,
MEMBER_NAME,
GENDER,
DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE TLNO IS NOT NULL
AND GENDER = 'W'
AND DATE_FORMAT(DATE_OF_BIRTH, '%m') = 03
ORDER BY MEMBER_ID
이렇게 풀었는데 정답 처리가 안 돼서 처음부터 다시 썼다 (바보짓)
결론은 DATE_FORMAT 써서 DATE_OF_BIRTH 포맷 맞춰줘야함
프로그래머스에서 날짜 형식을 yyyy-mm-dd 00:00:00 이런식으로 불러오기 때문에,,
저번에도 이랬던 것 같은데 결과도 꼼꼼히 볼 것!
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 GENDER = 'W'
AND DATE_FORMAT(DATE_OF_BIRTH, '%m') = 03
ORDER BY MEMBER_ID