SQL문에서 해당 작가의 책을 모두 빌린 사람 0 2 1,437

by 루비루 [SQL Query] DB SQL Query [2020.10.19 00:19:40]


Schema가

employee(empno, name, age)

book(isbn, title, author, publisher)

loan(empno, isbn, date)

이런식으로 구현되어 있을때

'MxGraw-Hill'가 publish한 책을 모두 빌려본 사람의 name을 구하시오.

이 문제는 원래 Linear Algebra 문제로 divison(÷) 연산을 사용하면 쉽게 풀립니다만.. 이걸 SQL문으로 풀어보려니 아무리해도 답이 안나오네요..혹시 이문제의 답을 알고계시는분 계실까요?

by 마농 [2020.10.19 08:05:25]
SELECT e.name
  FROM employee e
     , book b
     , loan l
 WHERE e.empno = l.empno
   AND b.isbn  = l.isbn
   AND b.publisher = 'MxGraw-Hill'
 GROUP BY e.empno, e.name
HAVING COUNT(DISTINCT b.isbn) = (SELECT COUNT(*) FROM book WHERE publisher = 'MxGraw-Hill')
;

 


by 루비루 [2020.10.19 11:59:14]

와 정말 깔끔한 답변 감사드려요!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입