CODING TEST/MySQL
Lv2 - 조건에 맞는 도서와 저자 리스트 출력하기
iamyuunzo
2025. 7. 29. 10:06
📌 문제 정보
- 문제 이름 : 프로그래머스 - (JOIN) 조건에 맞는 도서와 저자 리스트 출력하기
- 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/144854
📌 문제 요약
- BOOK 테이블 : BOOK_ID, CATEGORY, AUTHOR_ID, PRICE, PUBLISHED_DATE (각 도서 정보)
- AUTHOR 테이블 : AUTHOR_ID, AUTHOR_NAME (각 도서의 저자 정보)
- '경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성. 결과는 출판일을 기준으로 오름차순 정렬. PUBLISHED_DATE의 데이트 포맷이 예시와 동일해야 정답.
예시) BOOK 테이블(1)과 AUTHOR 테이블(2)이 다음과 같다면,
| BOOK_ID | CATEGORY | AUTHOR_ID | PRICE | PUBLISHED_DATE | AUTHOR_ID | AUTHOR_NAME | |
| 1 | 인문 | 1 | 10000 | 2020-01-01 | 1 | 홍길동 | |
| 2 | 경제 | 1 | 9000 | 2021-04-11 | 2 | 김영호 | |
| 3 | 경제 | 2 | 11000 | 2021-02-05 |
출력)
| BOOK_ID | AUTHOR_NAME | PUBLISHED_DATE |
| 3 | 김영호 | 2021-02-05 |
| 2 | 홍길동 | 2021-04-11 |
📌 내 풀이 및 코드
SELECT BOOK.BOOK_ID, AUTHOR.AUTHOR_NAME, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE
FROM BOOK
JOIN AUTHOR ON AUTHOR.AUTHOR_ID = BOOK.AUTHOR_ID
WHERE CATEGORY = '경제'
ORDER BY PUBLISHED_DATE ASC;
JOIN 문법을 자꾸 헷갈림. (ON 빼지 않기 주의!!!)
📌 새로 배운 문법
<-- 이번 문제에서 새로 배운 Java 문법 정리 -->
** JOIN 기본 문법 다시 정리 **
SELECT A.컬럼명, B.컬럼명
FROM 테이블A AS A
JOIN 테이블B AS B
ON A.공통컬럼 = B.공통컬럼;