面试-MySQL(三)

25 篇文章 0 订阅
17 篇文章 0 订阅

面试-MySQL(三)

面试-MySQL(一)
面试-MySQL(二)


借书卡 卡号 姓名 班级
书 书号 书名 作者 单价 数量
借书记录 借书号 借书卡号 书号 还书时间

借书卡
在这里插入图片描述

在这里插入图片描述

借书记录

在这里插入图片描述

1.找出借书超过5本的读者,输出借书卡号及所借图书册数

SELECT card_id,COUNT(*) as num FROM BCR GROUP BY card_id HAVING COUNT(*)>5;

在这里插入图片描述

2.查找出价格最大的书信息

SELECT * FROM BOOK WHERE price = (SELECT MAX(price) FROM BOOK);

在这里插入图片描述

3.借过c书的学生信息

SELECT * FROM CARD ca WHERE EXISTS(SELECT * FROM BCR b,BOOK b1 
WHERE b.book_id = b1.book_id AND b1.name = 'c' AND ca.card_id = b.card_id);

在这里插入图片描述

4.借过a书但是没有借b书的学生借书卡号,按卡号降序输出

      SELECT a.card_id FROM BCR a,BOOK b  
      WHERE a.book_id=b.book_id AND b.name='a' 
      AND NOT EXISTS(
        SELECT * FROM BCR aa,BOOK bb 
        WHERE aa.book_id=bb.book_id AND bb.name='b'
        AND aa.card_id=a.card_id)
ORDER BY a.card_id DESC;

在这里插入图片描述

5.班级号为2的学生还书时间延迟一周

UPDATE BCR b,CARD c 
SET b.return_time=DATE_ADD(b.return_time,INTERVAL 7 DAY) 
WHERE b.card_id = c.card_id AND c.class_id = '2';

在这里插入图片描述
在这里插入图片描述

6.查询过期未还图书,输出借书记录信息

SELECT * FROM BCR WHERE return_time < NOW();

在这里插入图片描述

7.借过a书同时借b书的学生借书卡号,按卡号升序输出

SELECT a.card_id FROM BCR a,BOOK b  
WHERE a.book_id=b.book_id AND b.name IN ('a','b') 
GROUP BY a.card_id ORDER BY a.card_id ;

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值