본문 바로가기

알고리즘 공부 및 문제 풀이/프로그래머스(PRO)

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

[문제]

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

 

프로그래머스

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

programmers.co.kr

 

[풀이]

SQL 문 다 까먹었다하하하하하

 

1. 날짜와 관련된 데이터 추출

SELECT * FROM (데이터베이스/테이블) WHERE YEAR(컬럼명) = "2021" 

월은 MONTH(컬럼명), 일은 DAYOFMONTH(컬럼명)으로 변경하면 된다.

추가적으  DATEDIFF(A, B)는 A 날짜에서 B 날짜를 뺀 값, CURDATE()는 오늘 날짜를 가리킨다.

 

2. 날짜 데이터 포맷 변경

DATE_FORMAT(컬럼명, 포맷)으로 변경가능하다. 

이때 출력 시 AS DATE_OF_BIRTH로 원래의 컬럼명으로 출력되도록 하는 것에 주의

 

3. NULL 값 제외하기

WHERE 컬럼명 IS NOT NULL

NULL 값을 찾을 때는 컬럼명 IS NULL을 이용.

추가적으로 NULL일 경우 다른 값으로 치환하고 싶다면 IFNULL(필드명, '바꿀 이름') 을 사용한다.

 

4. 오름차순 정렬하기

ORDER BY 컬럼명 ASC. ASC는 DEFAULT값으로 생략 가능하다.

내림차순 정렬 시에는 ORDER BY 컬럼명 DESC 를 사용.

 

[코드]

 

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 TLNO IS NOT NULL AND GENDER='W' ORDER BY MEMBER_ID;