728x90
https://school.programmers.co.kr/learn/courses/30/lessons/144856
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
테이블이 3개니까 최소 조인은 2번이지만 조인이 3번이나 들어간다 그리고 중간에 서브 쿼리까지 있으니까 많이 복잡해짐 그래도 이렇게 해서 원하는 조건을 모두 만족하는 데이터를 걸러낼 수 있다.
각각 테이블에 조건이 있으니까 처음에는 서브 쿼리로 해당하는 조건의 데이터만 가져오고 그 조건에 맞는 데이터만 다시 조인한다
select a.author_id,d.AUTHOR_NAME,a.category,a.TOTAL_SALES from(SELECT c.author_id,b.category,sum(a.SALES*b.PRICE) TOTAL_SALES
from BOOK_SALES a left outer join BOOK b
on(a.BOOK_ID=b.BOOK_ID)
left outer join AUTHOR c
on(b.AUTHOR_ID=c.AUTHOR_ID)
where to_char(a.SALES_DATE,'mm')=1
group by c.author_id,b.category
order by c.author_id,b.category desc) a left outer join AUTHOR d
on(a.AUTHOR_ID=d.AUTHOR_ID)
댓글