Coding Test/프로그래머스(SQL)

[프로그래머스/SQL] Level 1_조건에 부합하는 중고거래 댓글 조회하기(SELECT)

syunze 2023. 5. 10. 16:13

📌문제 유형

SELECT

 

📌문제

 

프로그래머스

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

programmers.co.kr

 

📌나의 문제풀이

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 AS B LEFT JOIN USED_GOODS_REPLY AS R 
    ON B.BOARD_ID = R.BOARD_ID
WHERE B.CREATED_DATE BETWEEN '2022-10-01' AND '2022-10-31' AND R.REPLY_ID IS NOT NULL
ORDER BY R.CREATED_DATE ASC, B.TITLE ASC

 

📌다른사람의 문제풀이

SELECT A.TITLE, A.BOARD_ID, B.REPLY_ID, B.WRITER_ID, B.CONTENTS, DATE_FORMAT(B.CREATED_DATE,'%Y-%m-%d') AS CREATED_DATE
FROM USED_GOODS_BOARD AS A INNER JOIN USED_GOODS_REPLY AS B 
    ON A.BOARD_ID = B.BOARD_ID
WHERE SUBSTR(A.CREATED_DATE,1,7) = '2022-10'
ORDER BY B.CREATED_DATE ASC, A.TITLE ASC

 

📌리뷰

- 칼럼 이름 같아도 테이블마다 의미하는게 다를 수 있음. 테이블 설명 확인하기!

- DATE_FORMAT 함수 사용해서 '년-월-일'만 출력하기 (SUBSTRING 이용하여 자를 수 있음)

 

MySQL 날짜 변환 DATE_FORMAT 함수 사용 방법

DATE_FORMAT 함수를 사용하면 날짜를 지정한 포맷으로 변경할 수 있습니다. 날짜 포맷을 변경하는 이유는 SELECT로 데이터를 검색하는 경우 조건 대상이 date 타입의 컬럼이라면 날짜 포맷을 일치시켜

ponyozzang.tistory.com

 

 

[MySQL] 문자열 자르기 SUBSTRING, SUBSTRING_INDEX & 활용

MySql, Mariadb의 SUBSTRING, SUBSTRING_INDEX 문자열 자르기 함수에 대해 알아보겠습니다. 추가로 SUBSTRING_INDEX를 활용하여 JAVA의 split처럼 문장열로 자르고 Index에 맞게 가져오는 방법을 설명하겠습니다. SUBS

beagle-dev.tistory.com

- 특정 기간 범위 조회 : WHERE 칼럼 BETWEEN 시작 AND 끝

 

MySQL 날짜(DATE) 조건 검색 사용법

MySQL SELECT 문 사용 시 날짜(DATE) 조건을 사용하여 데이터를 검색할 수 있습니다. WHERE 조건문에서 특정 날짜와 일치하거나, BETWEEN 명령어를 사용하여 특정 날짜 이전 또는 이후 범위를 지정하여 레

chragu.com

- LEFT JOIN은 빈 칸이 생길 수 있으므로 INNER JOIN 활용하여 빈 칸 만들지 않기

 

728x90