数据库关系代数,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)
用关系代数写出下列查询
- 一个。找出借过“Wiley”
出版的超过 3 本书的借书人的姓名和 borrower_id
- b。查找借过“wiley”出版的任何书籍的借书人姓名
- c。求每个借书人平均借书数,.
根据你的问题,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
5.Consider 以下库架构
Books (book_no,title,authors,publisher)
Borrower(borrower_id, name, DOB, job)
Borrowed(borrower_id,book_no,date)
用关系代数写出下列查询
- 一个。找出借过“Wiley” 出版的超过 3 本书的借书人的姓名和 borrower_id
- b。查找借过“wiley”出版的任何书籍的借书人姓名
- c。求每个借书人平均借书数,.
根据你的问题,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