Algorithm/Programmers SQL

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

제우제우 2024. 9. 11. 14:45

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

 

프로그래머스

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

programmers.co.kr

코딩테스트 연습 > SELECT > 3월에 태어난 여성 회원 목록 출력하기

문제 분석

난이도: LEVEL2

문제 요구사항

MEMBER_PROFILE 테이블에서 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성해주세요. 

이때 전화번호가 NULL인 경우는 출력대상에서 제외시켜 주시고, 결과는 회원ID를 기준으로 오름차순 정렬해주세요.

 

WHERE 

전화번호가 NULL 필터링: TLNO IS NOT NULL

생일이 3월이 아닌 사람 필터링: MONTH(DATE_OF_BIRTH) = '3'

성별이 남성인 사람 필터링: GENDER = 'W'

 

SELECT 

생년월일 년-월-일 데이터 형식 맞추기: DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTH

 

사용한 MySQL 함수 

DATE_FORMAT(), MONTH()

 

프로그래머스 문제 풀면서 사용한 함수들 정리 링크 

https://20240228.tistory.com/209

 

[MySQL] 자주 사용하는 함수 정리 - Updateable

목차 수학 관련 함수 ROUND()FLOOR()날짜(시간) 관련 함수 DATEDIFF()DATEFORMAT()NOW()CURDATE()CURTIME() DATE_ADD() DATE_SUB() YEAR(), MONTH(), DAY() DAYOFWEEK() DAYOFYEAR()WEEK()RELACE()문자열 관련 함수 LIKE()INSTR() REGEXP - 정규

20240228.tistory.com

 

정답 코드 

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