sql高人请进
来源:百度知道 编辑:UC知道 时间:2024/05/14 13:14:19
表 名 结 构
图书类别 Class Id号(PK主键),类别名
图书信息 图书id(PK),书名,作者,出版社,价格,备注,状态,类别ID(FK外键),数量,剩余数量
用户信息 用户id,用户名,单位,性别,借书期限(天),已借册数,状态(正常,挂失,停用)
借阅信息 ID(标识列PK),图书id(FK),用户id号(FK),借书时间,应还时间,还书时间
1、分别用IN和EXISTS写出2004年1月没有借阅任何图书的用户
2、统计每月(单独的月和包含年月信息的月)各类的图书借阅数
3、统计每本图书的总借阅天数,借阅次数,平均每次的借阅天数,并且在统计结果的最后加上总计信息
图书类别 Class Id号(PK主键),类别名
图书信息 图书id(PK),书名,作者,出版社,价格,备注,状态,类别ID(FK外键),数量,剩余数量
用户信息 用户id,用户名,单位,性别,借书期限(天),已借册数,状态(正常,挂失,停用)
借阅信息 ID(标识列PK),图书id(FK),用户id号(FK),借书时间,应还时间,还书时间
1、分别用IN和EXISTS写出2004年1月没有借阅任何图书的用户
2、统计每月(单独的月和包含年月信息的月)各类的图书借阅数
3、统计每本图书的总借阅天数,借阅次数,平均每次的借阅天数,并且在统计结果的最后加上总计信息
1、
SELECT 用户id FROM
用户信息 WHERE 用户id NOT IN
(SELECT 用户id号 FROM 借阅信息 WHERE 借书时间<='2004-1-31' AND 借书时间>='2004-1-1')
SELECT 用户id FROM
用户信息 WHERE NOT EXISTS(SELECT * FROM 借阅信息 WHERE 借书时间<='2004-1-31' AND 借书时间>='2004-1-1'
AND 用户id = 用户id号)
第一个;
用in:
select * from
用户信息 where 用户id not in
(select 用户id from 借阅信息 where 借书时间<'2004-1-1')
没有测试,后面的懒得写了;
在百度上搜一个图书管理免费应用程序就解决了,很简单的
dfdtg'kfo
无聊的问题。。。。。。