1.从USER表中查询所有用户的姓名和单位
select姓名,单位 Fromdbo.Users
2.查询所有图书的信息
select*
Fromdbo.BookInfo
3.查询单位为“计算机学院”的用户的全部信息
select* Fromdbo.Users
where单位='计算机学院';
4.查询已经预约但还没有借出的书的信息
select* fromdbo.Books where状态='3'
5.查询在这一星期之内借出且还没有归还的所有书的借阅证号、书号。
select借阅证号,书号 Fromdbo.Loan
WhereDATEDIFF(DAY,借阅日期,GETDATE())<=7;
6.查询“清华出版社”出版的所有英文书的书名、作者、价格。
select书名,作者,价格 Fromdbo.BookInfo
where出版社='清华大学出版社'AND语言='英文'
7查询在流通总库或者是属于管理学院资料室的尚未借出的书 selectdistinctBookInfo.书名 from[dbo].[Books],[dbo].[BookInfo] whereBookInfo.ISBN=Books.ISBNand Books.状态='0'and
Books.位置IN('流通总库','管理学院资料室');
8.查询价格在30元到50元之间的书
select书名
from[dbo].[BookInfo]
where价格between 30 and 50;
9.查询2002年的借阅历史情况
select*
from[dbo].[LoanHist]
where借阅日期between'2002-01-01 00:00:00.000'and'2002-12-31 00:00:00.000';
10.查询李军、吴红、刘明三个人合作编写的书的书名、作者、出版社和价格
select书名,作者,出版社,价格 from[dbo].[BookInfo]
where作者='李军,吴红,刘明';
11.查询书名包含“数据库”的所有书名、作者、出版社和价格
select书名,作者,出版社,价格 from[dbo].[BookInfo] where书名LIKE'%数据库%'
12.查询书名包含“数据库”的所有书名、作者、出版社及价格*1.5
select书名,作者,出版社,1.5*价格 from[dbo].[BookInfo] where书名LIKE'%数据库%'
13.查询所有预约借书但还没有预约成功的信息,并按预约时间的先后排序。
select*
from[dbo].[Reservation],[dbo].[Books] whereBooks.ISBN=Reservation.ISBN ANDReservation.状态!='T' ANDBooks.状态IN('1','3')
ORDERBY预约日期ASC;
14.对上题的查询结果按每种书先排序,同一种书再按预约日期降序排序
selectISBN,预约日期,借阅证号 from[dbo].[Reservation] whereReservation.状态!='T' orderbyISBN,预约日期ASC;
15.查询书的价格在所有书中排在前10%的书名、作者、出版社和定价
16.查询所有图书的语言种类
selectdistinct语言 from[dbo].[BookInfo];
17.查询借阅用户总人数
selectcount(姓名)as人数 from[dbo].[Users];
18.查询当前正借有书的用户总人数
selectCOUNT(distinct借阅证号) from[dbo].[Loan];
19.查询因用户丢失图书而赔偿的总金额。
selectsum(金额) from[dbo].[money] where原因='丢失图书';
20.查询用户对书的平均借阅时间:按照用户分组,查询每个用户的平均借阅时间
21.查询书的价格最高和最低的两种书。
SELECT[书名],[价格] FROMBookInfo
WHERE[价格]=(SELECTMAX([价格])FROMBookInfo) UNION
SELECT[书名],[价格] FROMBookInfo
WHERE[价格]=(SELECTMIN([价格])FROMBookInfo);
22.查询图书馆从各个出版社购进的书各有多少种。
select出版社,count(出版社) from[dbo].[BookInfo] groupby出版社;
23.查询每种图书的书名和其库存量,并对结果按库存量排序 selectISBN,count(ISBN) from[dbo].[Books] groupbyISBN
orderbycount(ISBN)DESC;
selectISBN,count(ISBN)as库存量 from[dbo].[Books] groupbyISBN orderby库存量DESC
24.对上题的查询结果只返回库存量在10(2)本以上的书名和库存量
selectBookInfo.书名,count(BookInfo.ISBN)as库存量 from[dbo].[Books],[dbo].[BookInfo] whereBookInfo.ISBN=Books.ISBN groupbyBookInfo.书名
havingcount(BookInfo.ISBN)>2;
25.查询2002年各种情况收费的总数大于5000元的金额和收费原因
select原因,sum(金额) from[dbo].[money]
where日期between'2002-01-01 00:00:00.000'and'2002-12-31 00:00:00.000' groupby原因
havingsum(金额)>6000.00
26.查询当前借书用户的借阅证号、姓名、书号、借书日期
selectLoan.借阅证号,Users.姓名,Loan.书号,Loan.借阅日期 from[dbo].[Users],[dbo].[Loan] whereLoan.借阅证号=Users.借阅证号;
27.查询当前借书过期还没归还的用户的借阅证号、姓名、书名、借书日期、过期天数,并按借阅证号排序