
学生图书借阅管理数据库查询练习及答案37485.pdf
9页学生图书借阅管理数据库数据查询 一、简单查询 1. 查询所有学生的信息 Select * from 学生信息 2. 查询学生的借书证号, ,班级 Select 借书证号,,班级 from 学生信息 3. 按图书定价从高到低查询所有图书的图书名称和定价, 定价一样再按图书名称升序排列 Select 图书名称,定价 From 图书信息 Order by 定价 desc,图书名称 4. 查询图书定价最高的三本图书信息 Select top 3 with ties * From 图书信息 Order by 定价 desc 5. 查询图书信息表中的图书类别,并消除重复记录 Select distinct 图书类别 From 图书信息 6. 查询图书信息表中的图书名称、 书号, 输出结果以书名和 ISBN为列标题 Select 图书名称 as 书名,书号 as ISBN - From 图书信息 7. 查询所有图书名称,和打八折之后的定价,并以折后价命名 Select 图书名称,定价*0.8 as 折后价 From 图书信息 8. 查询所有图书的入馆年数 Select 图书名称,year(getdate())-year(入馆时间) as 入馆年数 From 图书信息 二、条件查询 ⒈查询计算机类的图书信息 Select * from 图书信息 Where 图书类别=’计算机’ Select 图书名称,定价 from 图书信息 Where 定价>30 3.查询图书定价在 20~30 之间的图书信息 Select * from 图书信息 Where 定价 between 20 and 30 Select * from 图书信息 Where 定价>30 and 图书类别=’计算机’ - Select * from 图书信息 Where 定价>30 or 图书类别=’计算机’ 6.查询计算机、英语和电子类的图书信息 Select * from 图书信息 Where 图书类别 in(’计算机’,’英语’,’电子’) Select * From 学生信息 Where like ‘%’ Select * From 学生信息 Where like ‘_’ "网页〞的图书信息 Select * From 图书信息 Where 图书名称 like ‘%网页%’ 10.查询姓张、王、 、赵的学生信息 Select * from 学生信息 Where like ‘[张王李赵]%’ 11.查询借书证号第五位字符为 2~5 的学生信息 Select * from 学生信息 - Where 借书证号 like ‘____[2-5]%’ 12. 查询没有还书的借阅信息 Select * From 借阅信息 Where 还书日期 is null 三、统计查询 1.查询所有图书的平均定价,最高定价,最低定价和定价总和 Select avg(定价),ma*(定价),min(定价),sum(定价) From 图书信息 Select count(*) as 计算机类图书数目 From 图书信息 Where 图书类别=’计算机’ Select count(distinct 图书类别) as 图书类别种数 From 图书信息 Select 图书类别,count(*) as 图书数目,avg(定价) as 平均定价 From 图书信息 Group by 图书类别 5.查询各类别图书平均定价大于 25 元的图书类别和平均定价,并按平均定价进展降序排列 Select 图书类别,avg(定价) as 平均定价 From 图书信息 Group by 图书类别 - Having avg(定价)>25 Order by 平均定价 desc 6.查询计算机类图书信息,并计算图书数目和平均定价 Select * From 图书信息 Where 图书类别=’计算机’ Compute count(图书编号),avg(定价) 7.查询各类别图书信息,并计算各类图书数目和平均定价 Select * From 图书信息 Order by 图书类别 Compute count(图书编号),avg(定价) by 图书类别 四、连接查询 1. 查询学生信息表和借阅信息表的所有组合 Select * From 学生信息 cross join 借阅信息 2. 查询借过书的学生借书证号, ,借书的图书编号,借书日期和还书日期。
Select a.借书证号,,图书编号,借书日期,还书日期 From 学生信息as a join 借阅信息as b on a.借书证号=b.借书证号 3. 查询 06 电子商务 1 班学生的借阅信息 - Select,班级,b.* From 学生信息as a join 借阅信息as b on a.借书证号=b.借书证号 where 班级='06 电子商务 1 班' 4. 查询借过书的学生借书证号, ,借书的图书编号,图书名称,借书日期和还书日期 Select a.借书证号,,c.图书编号,图书名称,借书日期,还书日期 From 学生信息as a join 借阅信息as b on a.借书证号=b.借书证号 join 图书信息as c on c.图书编号=b.图书编号 5. 查询姓李的借过计算机类图书的学生姓名,借书的图书名称和图书类别 Select,图书名称,图书类别 From 学生信息as a join 借阅信息as b on a.借书证号=b.借书证号 join 图书信息as c on c.图书编号=b.图书编号 where 姓名 like'%'and 图书类别='计算机' 6. 查询图书名称一样,但作者不同的图书信息。
Select a.图书名称,a.作者 From 图书信息as a join 图书信息as b - on a.图书名称=b.图书名称 where a.作者<>b.作者 7. 查询所有学生的借阅信息 Select * From 学生信息 as a left join 借阅信息 as b on a.借书证号=b.借书证号 8. 查询所有图书和学生的借阅信息 Select* From 学生信息as a fulljoin 借阅信息as b on a.借书证号=b.借书证号 fulljoin 图书信息as c on c.图书编号=b.图书编号 五、嵌套查询 Select 图书编号 from 借阅信息 Where 借书证号=(select 借书证号 from 学生信息 Where =’王大力’) Select * from 图书信息 Where 定价>(select avg(定价) from 图书信息) 3.查询计算机类图书的名称、图书类别、定价和平均定价 Select 图书名称,图书类别,定价,(select avg(定价) from 图书信息 Where 图书类别=’计算机’) - from 图书信息 Where 图书类别=’计算机’ Select 借书证号, From 学生信息 Where 借书证号 in(select 借书证号 from 借阅信息) Select 图书名称 from 图书信息 Where 图书编号 in(select 图书编号 from 借阅信息 Where 借书证号=(select 借书证号 from 学生信息 where =’王大力’) Select * from 图书信息 Where 图书类别=’计算机’ and 定价>all(select 定价 from 图书信息 Where 图书类别=’电子’) Select * from 图书信息 Where 图书类别=’计算机’ and 定价>any(select 定价 from 图书信息 Where 图书类别=’电子’) Select * from 图书信息 Where e*ists(select * from 借阅信息 Where 借阅信息.图书编号=图书信息.图书编号) Select 图书名称,定价 from 图书信息 as a - Where 定价>(select avg(定价) from 图书信息 as b Where b.图书类别=a.图书类别) 。












