学生图书借阅管理数据库数据查询
一、简单查询
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 图书类别=’计算机’
2.查询图书定价大于30的图书名称和定价
Select 图书名称,定价
from 图书信息
Where 定价>30
3.查询图书定价在20~30之间的图书信息
Select *
from 图书信息
Where 定价 between 20 and 30
4.查询图书定价大于30的计算机类图书信息
Select *
from 图书信息
Where 定价>30 and 图书类别=’计算机’
5.查询图书定价大于30或计算机类的图书信息
Select *
from 图书信息
Where 定价>30 or图书类别=’计算机’
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 还书日期 is null
三、统计查询
1.查询所有图书的平均定价,最高定价,最低定价和定价总和Select avg(定价),max(定价),min(定价),sum(定价)
From 图书信息
2.查询计算机类图书的数目
Select count(*) as 计算机类图书数目
From 图书信息
Where 图书类别=’计算机’
3.查询图书类别的种数
Select count(distinct 图书类别) as 图书类别种数
From 图书信息
4.查询各类别图书数目和平均定价
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 full join借阅信息as b
on a.借书证号=b.借书证号
full join图书信息as c
on c.图书编号=b.图书编号
五、嵌套查询
1.查询王大力同学借书的图书编号
Select 图书编号 from 借阅信息
Where 借书证号=(select 借书证号 from 学生信息
Where =’王大力’)
2.查询图书定价大于平均定价的图书信息
Select * from 图书信息
Where 定价>(select avg(定价) from 图书信息)
3.查询计算机类图书的名称、图书类别、定价和平均定价
Select 图书名称,图书类别,定价,(select avg(定价) 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 图书信息
Where exists(select * from 借阅信息
Where 借阅信息.图书编号=图书信息.图书编号)
9.查询图书信息表于同类图书平均定价的图书名称和定价
Select 图书名称,定价 from 图书信息 as a
Where 定价>(select avg(定价) from 图书信息 as b
Where b.图书类别=a.图书类别)。