정말 쉬운 SQL 쿼리 짜는건데.. 어케 짜야할지 모르겠네요 ㅠㅠ

조회수 2129회

도서, 도서번호, 출판사, 발행년도 이렇게 릴레이션에 속성이 들어가있습니다. (기본키는 도서번호)

2010년 이후에 도서를 10개이상 발행한 출판사명을 SQL로 뽑아내고 싶은데

단순하게 where에서 조건만으로 뽑아내는게 아닌거 같은데.. 어떻게 짜야할지 모르겠네요..

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 일단 출판사 명을 찾는 것임으로 선택 속성은 출판사만 하고,

    SELECT 출판사
    

    그리고 발행년도가 2010년 이후여야 하고

    WHERE 발행년도 >= 2010
    

    각 출판사 별로

    GROUP BY 출판사
    

    10개 이상 도서를 발생한 것(COUNT(도서번호))을 필터링하면

    HAVING COUNT(도서번호) >= 10
    

    다음과 같은 SQL이 될 것 같네요.

    SELECT 출판사 WHERE 발행년도 >= 2010 GROUP BY 출판사 HAVING COUNT(도서번호) >= 10
    

    SQL의 GROUP BY ... HAVING ...에 관한 내용을 공부해보시면 될 것 같습니다.

    참고

    • 출판사별로 2010년 이후에 출판된 도서의 수를 알고 싶다면 다음과 같이 살짝 수정하면 됩니다. SELECT 출판사,COUNT(도서번호) as 출판횟수 WHERE 발행년도 >= 2010 GROUP BY 출판사 HAVING COUNT(도서번호) >= 10

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)