Rootable의 개발일기
프로그래머스 SQL 풀이 - 3월에 태어난 여성 회원 목록 출력하기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/131120
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
다음은 식당 리뷰 사이트의 회원 정보를 담은 MEMBER_PROFILE 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니다.
Column name | Type | Nullable |
MEMBER_ID | VARCHAR(100) | FALSE |
MEMBER_NAME | VARCHAR(50) | FALSE |
TLNO | VARCHAR(50) | TRUE |
GENDER | VARCHAR(1) | TRUE |
DATE_OF_BIRTH | DATE | TRUE |
문제
MEMBER_PROFILE 테이블에서 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성해주세요. 이때 전화번호가 NULL인 경우는 출력대상에서 제외시켜 주시고, 결과는 회원ID를 기준으로 오름차순 정렬해주세요.
주의 사항
DATE_OF_BIRTH의 데이트 포맷이 예시와 동일해야 정답처리 됩니다.
풀이
1. where 절에 필요한 조건들
- gender = 'W'
- TLNO(전화번호) 는 NULL 이면 안된다.
- DATE_OF_BIRTH가 3월인 레코드
2. DATE 타입 데이터에서 년/월/일 추출
YEAR(컬럼명) = 년도
MONTH(컬럼명) = 월
DAYOFMONTH(컬럼명) = 일
Reference:
https://marketinga.tistory.com/13
[SQL] 날짜와 관련된 데이터추출(YEAR,MONTH,DAYOFMONTH)
날짜에 관한 데이터 추출을 알아보겠습니다. 1. 연도 추출 (YEAR) SELECT * FROM (데이터베이스/테이블) WHERE YEAR(컬럼명) = "2021" SELECT * FROM test.please2 WHERE YEAR(orderdate) = '2021' ㄴ test 데이터 베이스의 please
marketinga.tistory.com
3. 주의 사항에 보면 예시에 있는 DATE_OF_BIRTH 형식과 동일해야 한다고 한다.
DATE_FORMAT(date, format)
- date : 포맷을 변경하고 싶은 값
- format : 형식 (원하는대로 작성 가능)
select DATE_FORMAT('20230519', '%Y-%m-%d')
//결과 : 2023-05-19
여기서는 %Y(4자리 년도), %m(월), %d(일) 만 사용하면 된다.
- 포맷 형태는 아래 사이트 참고
Reference:
https://ponyozzang.tistory.com/656
MySQL 날짜 변환 DATE_FORMAT 함수 사용 방법
DATE_FORMAT 함수를 사용하면 날짜를 지정한 포맷으로 변경할 수 있습니다. 날짜 포맷을 변경하는 이유는 SELECT로 데이터를 검색하는 경우 조건 대상이 date 타입의 컬럼이라면 날짜 포맷을 일치시켜
ponyozzang.tistory.com
정답 코드
SELECT member_id, member_name, gender, DATE_FORMAT(date_of_birth, '%Y-%m-%d')
FROM member_profile
WHERE gender = 'W' and MONTH(date_of_birth) = 3 and tlno IS NOT NULL
ORDER BY member_id
'프로그래머스 - SQL Kit' 카테고리의 다른 글
프로그래머스 SQL 풀이 - 평균 일일 대여 요금 구하기 (1) | 2023.05.19 |
---|---|
프로그래머스 SQL 풀이 - 서울에 위치한 식당 목록 출력하기 (0) | 2023.05.19 |
프로그래머스 SQL 풀이 - 강원도에 위치한 생산공장 목록 출력하기 (0) | 2023.05.19 |
프로그래머스 SQL 풀이 - 조건에 부합하는 중고거래 댓글 조회하기 (0) | 2023.05.19 |
프로그래머스 SQL 풀이 - 과일로 만든 아이스크림 고르기 (0) | 2023.05.19 |