数据库关系代数,sql 查询

database relational algebra , sql query

5.Consider 以下库架构

Books (book_no,title,authors,publisher)
Borrower(borrower_id, name, DOB, job)
Borrowed(borrower_id,book_no,date)

用关系代数写出下列查询

根据你的问题,sql查询是这样的

对于问题 1

select B.borrower_id, B.name 
  from Borrower as B, Borrowed as Bw, Books as Bk
 where B.borrower_id = Bw.borrower_id
   and Bw.book_no = Bk.book_no
   and Bk.publisher = 'Wiley'
group by B.borrower_id, B.name 
having count(Bw.borrower_id) > 3

对于问题 2

select B.name 
  from Borrower as B, Borrowed as Bw, Books as Bk
 where B.borrower_id = Bw.borrower_id
   and Bw.book_no = Bk.book_no
   and Bk.publisher = 'Wiley'
  group by B.name

对于问题 3

select B.borrower_id, B.name, count(Bw.borrower_id) as cnt 
  from Borrower as B, Borrowed as Bw, Books as Bk
 where B.borrower_id = Bw.borrower_id
   and Bw.book_no = Bk.book_no
group by B.borrower_id, B.name