개발일지

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

Database/SQL 문제

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

wa_n 2023. 3. 15. 17:19
728x90
반응형

문제 설명

다음은 어느 한 서점에서 판매중인 도서들의 도서 정보(BOOK), 저자 정보(AUTHOR) 테이블입니다.

BOOK 테이블은 각 도서의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.

AUTHOR 테이블은 도서의 저자의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.

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

예시

예를 들어 BOOK 테이블과 AUTHOR 테이블이 다음과 같다면

출력

'경제' 카테고리에 속하는 도서는 도서 ID가 2, 3인 도서이고, 출판일을 기준으로 오름차순으로 정렬하면 다음과 같은 결과가 나와야 합니다.

풀이


SELECT b.book_id AS BOOK_ID, a.author_name AS AUTHOR_NAME, DATE_FORMAT(b.published_date,'%Y-%m-%d')  AS PUBLISHED_DATE
FROM book b INNER JOIN author a
ON b.author_id = a.author_id
WHERE b.category = '경제' 
ORDER BY PUBLISHED_DATE ASC

from 부분에서 book b, INNER JOIN author a  각각 book, author을 a,b로 별칭을줘서 가독성을 높인다 book 테이블이 기준으로 author 테이블이 조인된다 INNER JOIN(교집합) 

SELECT b.book_id AS BOOK_ID, a.author_name AS AUTHOR_NAME, DATE_FORMAT(b.published_date,'%Y-%m-%d')  AS PUBLISHED_DATE
 - b.book_id AS BOOK_ID book 테이블에서 book_id 컬럼을 BOOK_ID로 별칭으로 만들어서 보여준다   

DATE_FORMAT(b.published_date,'%Y-%m-%d')AS PUBLISHED_DATE

DATE_FORMAT(날짜 , 형식) : 날짜를 지정한 형식으로 출력

다른 풀이


SELECT BOOK_ID, AUTHOR_NAME, date_format(PUBLISHED_DATE, '%Y-%m-%d')
FROM BOOK, AUTHOR
WHERE BOOK.AUTHOR_ID = AUTHOR.AUTHOR_ID and BOOK.CATEGORY = '경제'
ORDER BY PUBLISHED_DATE asc;
728x90
반응형

'Database > SQL 문제' 카테고리의 다른 글

강원도에 위치한 생산공장 목록 출력하기  (0) 2023.03.15
상위 N개 레코드  (0) 2023.03.15
어린 동물 찾기  (0) 2023.03.15
여러 기준으로 정렬하기  (0) 2023.03.14
조건에 맞는 회원수 구하기  (0) 2023.03.14