반응형
프로그래머스 SQL LV1 문제중 가장 질문 게시판이 핫한 문제중 하나를 들고 와봤다.
이 문제는 두 테이블 (게시판 & 댓글)을 활용하여 쿼리를 작성하는 전형적인 join 과 관련된 문제이다.
이 문제는 DATE 형태만 제대로 작성하면 문제없이 원하는 결과물을 만들 수 있다.
- 올바른 DATE 포맷 사용하기 -> DATE_FORMAT() 함수 활용
SELECT b.TITLE, b.BOARD_ID, r.REPLY_ID, r.WRITER_ID, r.CONTENTS, DATE_FORMAT(r.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE
FROM USED_GOODS_BOARD b
INNER JOIN USED_GOODS_REPLY r
ON b.BOARD_ID = r.BOARD_ID
WHERE DATE_FORMAT(b.CREATED_DATE, '%Y-%m') = '2022-10'
ORDER BY CREATED_DATE ASC, b.TITLE ASC;
- SELECT 절 DATE_FORMAT 활용: DATE_FORMAT(r.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE
- SELECT 절 point: '%Y-%m-%d' 를 명시하지 않는다면, 시간 형태가 '시분초'까지 찍혀서 정답 형태로 결과를 나타내지 않음.
- WHERE 절 point: 위 코드블럭에 명시된 조건절도 가능하나, between을 활용해도 무방함 WHERE b.CREATED_DATE BETWEEN '2022-10-01' AND '2022-10-31'
반응형
'SQL' 카테고리의 다른 글
[SQL] 프로그래머스 특정 물고기를 잡은 총 수 구하기 - 조인 & 상관중첩질의 (0) | 2024.03.25 |
---|---|
[SQL] 중첩 질의 - 상관 중첩 질의와 존재 연산자 EXISTS (3) (0) | 2024.03.21 |
[SQL] 검색 - 목록 검색 연산자와 중첩 질의 Nested Query (2) (0) | 2024.03.20 |
[SQL] 검색 - 비교 연산자와 중첩 질의 Nested Query (1) (0) | 2024.03.20 |