Home

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

Link

Tables

Question

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

DataFlow

저자명_id 사용 join

Answer

select b.book_id, a.author_name, b.published_date from book b left join author a on b.author_id = a.author_id where b.category = '경제' order by b.published_date asc;
SQL
복사

Intention

⚠️ LEFT JOIN인데 의도가 맞는가? 현재 LEFT JOIN을 사용하면 author 테이블에 매칭되는 행이 없는 책도 결과에 포함됩니다. 즉, author_nameNULL인 행이 섞일 수 있습니다.
만약 "저자 정보가 있는 경제 도서만" 뽑으려는 의도라면 → INNER JOIN이 맞습니다.
저자 미등록 도서도 포함해야 한다면 → LEFT JOIN이 맞고, author_name이 NULL인 경우를 downstream에서 처리해야 한다는 점을 인지해야 합니다.
⚠️ published_date의 NULL 처리ORDER BY published_date ASC 시, MySQL은 NULL을 가장 앞에 정렬합니다. 날짜 미입력 데이터가 있다면 의도치 않게 결과 상단에 NULL이 몰릴 수 있습니다. 필요 시 아래처럼 처리하세요.