3. 设某音像租赁系统具有以下关系模式: MOVIE (MovieNo, Title, Year, Cost), 其中 MovieNo: 电影编号 Title: 电影名称 Year: 发行年 Cost: 电影价格 DETAILRENTAL (RentNo, MovieNo, Fee, DueDate, ReturnDate, DailyFee),其中 RentNo:租赁编号 MovieNo:电影编号 Fee:费用 DueDate:到期日期 ReturnDate:归还日期 DailyFee:每天费用 MEMBERSHIP (MemberID, Name, City, State, Balance),其中 MemberID: 会议编号 Name:姓名 City: 城市 State:州 Balance:账户余额 RENTAL (RentNo, Date, MemberID),其中 RentNo: 租赁编号 Date:租赁日期 MemberID:会员编号 使用上面的模式,编写SQL查询来回答/处理以下问题:: a) 找出价格高于平均电影价格的电影。显示电影名称、年份和价格。 b) 找出租赁了多次的会员。显示会员编号和他/她租赁的次数。按租借租赁次数的降序排列输出. c) 找出租借数量大于1的会员ID和会员姓名d) 创建视图显示所有会员和他们租用的电影信息。显示电影名称,租赁日期, 到期日期和归还日期.
时间: 2023-12-06 08:44:17 浏览: 133
a) 找出价格高于平均电影价格的电影。显示电影名称、年份和价格。
```
SELECT Title, Year, Cost
FROM MOVIE
WHERE Cost > (SELECT AVG(Cost) FROM MOVIE)
```
b) 找出租赁了多次的会员。显示会员编号和他/她租赁的次数。按租借租赁次数的降序排列输出.
```
SELECT MemberID, COUNT(*) AS RentalCount
FROM RENTAL
GROUP BY MemberID
HAVING COUNT(*) > 1
ORDER BY RentalCount DESC
```
c) 找出租借数量大于1的会员ID和会员姓名
```
SELECT MemberID, Name
FROM MEMBERSHIP
WHERE MemberID IN (SELECT MemberID FROM RENTAL GROUP BY MemberID HAVING COUNT(*) > 1)
```
d) 创建视图显示所有会员和他们租用的电影信息。显示电影名称,租赁日期,到期日期和归还日期.
```
CREATE VIEW MemberRentals AS
SELECT m.Name, r.Date, d.DueDate, d.ReturnDate, mv.Title
FROM MEMBERSHIP m
JOIN RENTAL r ON m.MemberID = r.MemberID
JOIN DETAILRENTAL d ON r.RentNo = d.RentNo
JOIN MOVIE mv ON d.MovieNo = mv.MovieNo
```
阅读全文