学生图书借阅管理数据库查询练习及答案.docx
《学生图书借阅管理数据库查询练习及答案.docx》由会员分享,可在线阅读,更多相关《学生图书借阅管理数据库查询练习及答案.docx(8页珍藏版)》请在冰豆网上搜索。
学生图书借阅管理数据库查询练习及答案
学生图书借阅管理数据库数据查询
一、简单查询
1.查询所有学生的信息
Select*from学生信息
2.查询学生的借书证号,姓名,班级
Select借书证号,姓名,班级
from学生信息
3.按图书定价从高到低查询所有图书的图书名称和定价,定价相同再按图书名称升序排列
Select图书名称,定价
From图书信息
Orderby定价desc,图书名称
4.查询图书定价最高的三本图书信息
Selecttop3withties*
From图书信息
Orderby定价desc
5.查询图书信息表中的图书类别,并消除重复记录
Selectdistinct图书类别
From图书信息
6.查询图书信息表中的图书名称、书号,输出结果以书名和ISBN为列标题
Select图书名称as书名,书号asISBN
From图书信息
7.查询所有图书名称,和打八折之后的定价,并以折后价命名
Select图书名称,定价*as折后价
From图书信息
8.查询所有图书的入馆年数
Select图书名称,year(getdate())-year(入馆时间)as入馆年数
From图书信息
二、条件查询
查询计算机类的图书信息
Select*from图书信息
Where图书类别=’计算机’
2.查询图书定价大于30的图书名称和定价
Select图书名称,定价
from图书信息
Where定价>30
3.查询图书定价在20~30之间的图书信息
Select*
from图书信息
Where定价between20and30
4.查询图书定价大于30的计算机类图书信息
Select*
from图书信息
Where定价>30and图书类别=’计算机’
5.查询图书定价大于30或计算机类的图书信息
Select*
from图书信息
Where定价>30or图书类别=’计算机’
6.查询计算机、英语和电子类的图书信息
Select*
from图书信息
Where图书类别in(’计算机’,’英语’,’电子’)
7.查询姓李的学生信息
Select*
From学生信息
Where姓名like‘李%’
8.查询姓李的名为一个汉字的学生信息
Select*
From学生信息
Where姓名like‘李_’
9.查询图书名称包含“网页”的图书信息
Select*
From图书信息
Where图书名称like‘%网页%’
10.查询姓张、王、李、赵的学生信息
Select*from学生信息
Where姓名like‘[张王李赵]%’
11.查询借书证号第五位字符为2~5的学生信息
Select*from学生信息
Where借书证号like‘____[2-5]%’
12.查询没有还书的借阅信息
Select*
From借阅信息
Where还书日期isnull
三、统计查询
1.查询所有图书的平均定价,最高定价,最低定价和定价总和
Selectavg(定价),max(定价),min(定价),sum(定价)
From图书信息
2.查询计算机类图书的数目
Selectcount(*)as计算机类图书数目
From图书信息
Where图书类别=’计算机’
3.查询图书类别的种数
Selectcount(distinct图书类别)as图书类别种数
From图书信息
4.查询各类别图书数目和平均定价
Select图书类别,count(*)as图书数目,avg(定价)as平均定价
From图书信息
Groupby图书类别
5.查询各类别图书平均定价大于25元的图书类别和平均定价,并按平均定价进行降序排列
Select图书类别,avg(定价)as平均定价
From图书信息
Groupby图书类别
Havingavg(定价)>25
Orderby平均定价desc
6.查询计算机类图书信息,并计算图书数目和平均定价
Select*
From图书信息
Where图书类别=’计算机’
Computecount(图书编号),avg(定价)
7.查询各类别图书信息,并计算各类图书数目和平均定价
Select*
From图书信息
Orderby图书类别
Computecount(图书编号),avg(定价)by图书类别
四、连接查询
1.查询学生信息表和借阅信息表的所有组合
Select*
From学生信息crossjoin借阅信息
2.查询借过书的学生借书证号,姓名,借书的图书编号,借书日期和还书日期。
Selecta.借书证号,姓名,图书编号,借书日期,还书日期
From学生信息asajoin借阅信息asb
ona.借书证号=b.借书证号
3.查询06电子商务1班学生的借阅信息。
Select姓名,班级,b.*
From学生信息asajoin借阅信息asb
ona.借书证号=b.借书证号
where班级='06电子商务1班'
4.查询借过书的学生借书证号,姓名,借书的图书编号,图书名称,借书日期和还书日期。
Selecta.借书证号,姓名,c.图书编号,图书名称,借书日期,还书日期
From学生信息asajoin借阅信息asb
ona.借书证号=b.借书证号
join图书信息asc
onc.图书编号=b.图书编号
5.查询姓李的借过计算机类图书的学生姓名,借书的图书名称和图书类别。
Select姓名,图书名称,图书类别
From学生信息asajoin借阅信息asb
ona.借书证号=b.借书证号
join图书信息asc
onc.图书编号=b.图书编号
where姓名like'李%'and图书类别='计算机'
6.查询图书名称相同,但作者不同的图书信息。
Selecta.图书名称,a.作者
From图书信息asajoin图书信息asb
ona.图书名称=b.图书名称
wherea.作者<>b.作者
7.查询所有学生的借阅信息。
Select*
From学生信息asaleftjoin借阅信息asb
ona.借书证号=b.借书证号
8.查询所有图书和学生的借阅信息。
Select*
From学生信息asafulljoin借阅信息asb
ona.借书证号=b.借书证号
fulljoin图书信息asc
onc.图书编号=b.图书编号
五、嵌套查询
1.查询王大力同学借书的图书编号
Select图书编号from借阅信息
Where借书证号=(select借书证号from学生信息
Where姓名=’王大力’)
2.查询图书定价大于平均定价的图书信息
Select*from图书信息
Where定价>(selectavg(定价)from图书信息)
3.查询计算机类图书的名称、图书类别、定价和平均定价
Select图书名称,图书类别,定价,(selectavg(定价)from图书信息
Where图书类别=’计算机’)
from图书信息
Where图书类别=’计算机’
4.查询借过图书的学生借书证号和姓名
Select借书证号,姓名
From学生信息
Where借书证号in(select借书证号from借阅信息)
5.查询被王大力同学借过的图书名称
Select图书名称from图书信息
Where图书编号in(select图书编号from借阅信息
Where借书证号=(select借书证号
from学生信息
where姓名=’王大力’)
6.查询计算机类图书定价比电子类图书最高定价还高的图书信息
Select*from图书信息
Where图书类别=’计算机’and定价>all(select定价from图书信息
Where图书类别=’电子’)
7.查询计算机类图书定价比电子类图书最低定价高的图书信息
Select*from图书信息
Where图书类别=’计算机’and定价>any(select定价from图书信息
Where图书类别=’电子’)
8.利用exists查询所有被借过的图书信息
Select*from图书信息
Whereexists(select*from借阅信息
Where借阅信息.图书编号=图书信息.图书编号)
9.查询图书信息表中大于同类图书平均定价的图书名称和定价
Select图书名称,定价from图书信息asa
Where定价>(selectavg(定价)from图书信息asb
Whereb.图书类别=a.图书类别)