코딩테스트/SQL
[프로그래머스/SELECT] - 3월에 태어난 여성 회원 목록 출력하기
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
작성한 쿼리문
SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE MONTH(DATE_OF_BIRTH) = 3 AND GENDER = 'W' AND TLNO IS NOT NULL
ORDER BY MEMBER_ID;
- DATE_OF_BIRTH의 경우, '1999-03-01' 이런 식으로 출력이 되어야 한다는 조건이 있었기 때문에 DATE_FORMAT을 사용해주었다.
cf.) DATE_FORMAT(날짜, '형식')
→ '%Y-%M-%D' 로 했을 때, '1999-March-1st' 이런식으로 나오게 된다.
→ Y: 4자리 연도, M: 영문 월, D: 영문 일 / y: 2자리 연도, m: 숫자 월(두 자리), d: 숫자 일
- 형식에 맞춘 것을 AS를 사용하여 DATE_OF_BIRTH로 출력될 수 있도록 해준다.
- 3월 달이 생일인 회원 → MONTH(DATE_OF_BIRTH) = 3
- 성별은 여자 → GENDER = 'W'
- 전화번호가 NULL인 회원은 출력대상 제외 → TLNO IS NOT NULL
(전부 만족해야 하기 때문에 AND로 이어준다.)
- 마지막으로 ORDER BY를 사용하여 MEMBER_ID를 기준으로 오름차순 정렬을 해준다.
반응형
'코딩테스트 > SQL' 카테고리의 다른 글
[프로그래머스/SELECT] - 오프라인/온라인 판매 데이터 통합하기 (0) | 2023.03.14 |
---|---|
[프로그래머스/SELECT] - 모든 레코드 조회하기 (0) | 2023.03.14 |
댓글