[Programmers] 조건에 맞는 도서와 저자 리스트 출력하기

이정진·2023년 1월 24일
0

SQL

목록 보기
18/23
post-thumbnail

조건에 맞는 도서와 저자 리스트 출력하기

난이도 구분 : Level 2

문제

'경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요.
결과는 출판일을 기준으로 오름차순 정렬해주세요.

문제 풀이

  1. 도서 테이블과 저자 테이블이 분리되어 있기에, 이를 저자 ID를 Key로 하여 Join을 진행하여야 한다.

SQL

SELECT BOOK_ID, AUTHOR_NAME, PUBLISHED_DATE
FROM BOOK
LEFT JOIN AUTHOR
ON BOOK.AUTHOR_ID = AUTHOR.AUTHOR_ID

결과

  1. 출판일 기준 오름차순 정렬

SQL

SELECT BOOK_ID, AUTHOR_NAME, PUBLISHED_DATE
FROM BOOK
LEFT JOIN AUTHOR
ON BOOK.AUTHOR_ID = AUTHOR.AUTHOR_ID
ORDER BY PUBLISHED_DATE ASC;

결과

  1. 문제의 정답 데이터 포맷이 아래와 같으므로, 데이터 포맷을 바꿔준다.

SQL

SELECT BOOK_ID, AUTHOR_NAME, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') PUBLISHED_DATE
FROM BOOK
LEFT JOIN AUTHOR
ON BOOK.AUTHOR_ID = AUTHOR.AUTHOR_ID
ORDER BY PUBLISHED_DATE ASC;

결과

  1. 경제 카테고리에 해당되도록 WHERE문에 조건을 걸어준다.
    SQL
SELECT BOOK_ID, AUTHOR_NAME, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') PUBLISHED_DATE
FROM BOOK
LEFT JOIN AUTHOR
ON BOOK.AUTHOR_ID = AUTHOR.AUTHOR_ID
WHERE CATEGORY = '경제'
ORDER BY PUBLISHED_DATE ASC;

결과

정답 SQL

SELECT BOOK_ID, AUTHOR_NAME, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') PUBLISHED_DATE
FROM BOOK
LEFT JOIN AUTHOR
ON BOOK.AUTHOR_ID = AUTHOR.AUTHOR_ID
WHERE CATEGORY = '경제'
ORDER BY PUBLISHED_DATE ASC;

0개의 댓글