学生图书借阅管理数据库查询练习与答案

合集下载

数据库课后题答案

数据库课后题答案

1)查询全体图书的图书号,书名,作者,出版社,单价。

SELECT * FROM 图书2)查询全体图书的信息,其中单价打8折,并且将该列设置别名为’打折价’ 。

SELECT 图书号,书名,作者,出版社,单价*0.8 ‘打折价’ FROM 图书3)显示所有借阅者的读者号,并去掉重复行。

SELECT DISTINCT 读者号FROM 借阅4)查询所有单价在20到30之间的图书信息。

SELECT * FROM 图书WHERE 单价BETWEEN 20 AND 305)查询所有单价不在20到30之间的图书信息。

SELECT * FROM 图书WHERE 单价NOT BETWEEN 20.00 AND 30.006)查询机械工业出版社、科学出版社、人民邮电出版社的图书信息SELECT * FROM 图书WHERE 出版社IN (‘机械工业出版社’, ‘科学出版社’, ‘人民邮电出版社’)7)查询既不是机械工业出版社、也不是科学出版社出版的图书信息SELECT * FROM 图书WHERE 出版社NOT IN (‘机械工业出版社’, ‘科学出版社’)8)查找姓名的第二个字符是’建’并且只有两三个字符的读者的读者号、姓名。

SELECT 读者号,姓名FROM 读者WHERE 姓名LIKE ‘_建_’9)查找姓名以’王’开头的所有读者的读者号、姓名。

SELECT 读者号,姓名FROM 读者WHERE 姓名LIKE ‘王%’10)查找姓名以’王’、’张’或’李’开头的所有读者的读者号、姓名。

SELECT 读者号,姓名FROM 读者WHERE 姓名LIKE ‘[王张李]%’11)查找姓名不是以’王’、’张’或’李’开头的所有读者的读者号、姓名。

SELECT 读者号,姓名FROM 读者WHERE 姓名NOT LIKE ‘[王张李]%’12)查询无归还日期的借阅信息。

SELECT * FROM 借阅WHERE 归还日期IS NULL13)查询有归还日期的借阅信息。

学生图书借阅管理数据库查询练习及答案

学生图书借阅管理数据库查询练习及答案

学生图书借阅管理数据库数据查询一、简单查询1.查询所有学生的信息Select *from 学生信息2.查询学生的借书证号,姓名,班级Select 借书证号,姓名,班级from 学生信息3.按图书定价从高到低查询所有图书的图书名称和定价,定价相同再按图书名称升序排列Select 图书名称,定价From 图书信息Order by 定价desc, 图书名称4.查询图书定价最高的三本图书信息Select top 3 with ties *From 图书信息Order by 定价desc5.查询图书信息表中的图书类别,并消除重复记录Select distinct 图书类别From 图书信息6.查询图书信息表中的图书名称、书号,输出结果以书名和ISBN为列标题Select 图书名称as 书名,书号as ISBNFrom 图书信息7.查询所有图书名称,和打八折之后的定价,并以折后价命名Select 图书名称,定价*0。

8 as 折后价From 图书信息8.查询所有图书的入馆年数Select 图书名称,year(getdate())-year(入馆时间) as 入馆年数From 图书信息二、条件查询⒈查询计算机类的图书信息Select *from 图书信息Where 图书类别=’计算机’2。

查询图书定价大于30的图书名称和定价Select 图书名称,定价from 图书信息Where 定价〉303.查询图书定价在20~30之间的图书信息Select *from 图书信息Where 定价between 20 and 304。

查询图书定价大于30的计算机类图书信息Select *from 图书信息Where 定价>30 and 图书类别=’计算机'5。

查询图书定价大于30或计算机类的图书信息Select *from 图书信息Where 定价〉30 or图书类别='计算机’6.查询计算机、英语和电子类的图书信息Select *from 图书信息Where 图书类别in(’计算机’,’英语’,’电子’) 7.查询姓李的学生信息Select *From 学生信息Where 姓名like ‘李%'8。

查询上机作业(附答案)

查询上机作业(附答案)

上机作业3(单表查询)1、在图书管理数据库中创建下面选择查询对象:s1:查询读者表中全部记录,结果集按借书证号降序排序SELECT * FROM 读者ORDER BY 借书证号s2:查询所有专科生和本科生的已借书数,提取数据项:借书证号、姓名、读者类别、已借数SELECT 借书证号,姓名,读者类别,已借数FROM 读者WHERE 读者类别in("专科生","本科生")s3:查询清华大学出版社出版的藏书信息SELECT * FROM 图书WHERE 出版社="清华大学出版社"s4:查询价格高于100元的图书信息SELECT * FROM 图书WHERE 价格>100s5:查询已借空的图书信息SELECT * FROM 图书WHERE 库存量=0s6:查询ISBN号的从第2到第4字符是777的图书记录SELECT * FROM 图书WHERE ISBN like "?777*"s7:查询借出时间超过30天的读者的借书证号SELECT 借书证号FROM 读者WHERE date()-借书时间>30或:SELECT 借书证号FROM 读者WHERE datediff("d",借书时间,date())>30s8:在已借过的书中(借阅历史表)查借出时间不超过两天的书的ISBN号SELECT isbn FROM 借阅历史无WHERE借书时间-还书时间<=2或:SELECT isbn FROM 借阅历史无WHERE datediff("d",借书时间,还书时间)<=2s9:给定一个ISBN号,查询该书是否可借SELECT 库存量FROM 图书WHERE isbn=[请输入书号]SELECT iif(库存量>0, "可借","不可借") FROM 图书WHERE isbn=[请输入书号]s11给定一个借书证号,查询该读者已借的书的ISBN号和借出时间SELECT ISBN,借书时间FROM 借阅WHERE 借书证号=[请输入借书证号]2、在成绩数据库中创建下面选择查询对象:S1:查询所有课程名为"高等数学"的课程信息SELECT * FROM 课程WHERE 课程名="高等数学"S2:查询在第1学期开出的课程SELECT * FROM 课程WHERE 学期=1S3查询专业代码为"034"的专业的所有班级名称SELECT 班级名称FROM 班级WHERE 专业代码="034"S4:查询来源地中包含有“广西”的学生记录SELECT * FROM 学生WHERE 来源地LIKE "*广西*"S5:查询2005级的学生记录(学号前4位为2005)SELECT * FROM 学生WHERE 班级代码like "2005*"S6:查询年满20岁的学生SELECT * FROM 学生WHERE dateadd("yyyy",20,生日)<=date()S7:查询今天是生日的学生的姓名及所在班的班级代码SELECT 姓名,班级代码FROM 学生WHERE month(生日)=month(date()) and day(生日)=month(date())3、在工资管理数据库中创建下面选择查询对象S1:查医保小于职务工资的12%的职工的信息SELECT * FROM 职工WHERE 医保<职务工资*0.12S2:查询2006年1月份每个职工的扣款小计,提取数据项:职工号、扣款小计SELECT 职工号,医保+个税as 扣款小计FROM 月工资WHERE 年=2006 and 月=1上机作业4(多表查询)1、在图书管理数据库中创建下面的查询对象S1:任给一个借书证号,查该读者所借出的全部书的书号及书名SELECT 借阅.ISBN,书名FROM 借阅,图书WHERE 借阅.ISBN=图书.ISBN and 借阅.ISBN=[请输入书号]S2:任给一个借书证号,查该读者当前的可借书数SELECT 限借数-已借数FROM 读者类别,读者WHERE 读者类别.读者类别=读者.读者类别and 借书证号=[请输入借书证号]S3:查询所有已借数为0,但借阅表中存在借阅记录的读者的借书证号、所借书的书号和书名SELECT 读者.借书证号,借阅.ISBN,书名FROM (读者LEFT JOIN 借阅ON 读者.借书证号=借阅.借书证号)LEFT JOIN 图书ON 借阅.ISBN=图书.ISBNWHERE 已借数=0 and (借阅.借书证号is not null)S4:查询在图书表中库存量=复本量,但在借阅表中存在借出记录的图书的书号与S3雷同S5:查询所有已借出的书的书名和所借者的借书证号和姓名SELECT 读者.借书证号,姓名,书名FROM (读者INNER JOIN 借阅ON 借阅.借书证号=读者.借书证号)INNER JOIN 图书ON 借阅.ISBN=图书.ISBNS6:给定一个借书证号,查询该读者是否可借书。

多表查询的练习 的答案

多表查询的练习 的答案

多表查询:在图书管理数据库“Library”:1、查询每个读者的详细信息(读者及借阅图书的信息),允许有重复列select Reader.*,Borrow.*from Reader, Borrowwhere Reader.RID=Borrow.RID或者select Reader.*,Borrow.*from Reader inner join Borrow on Reader.RID=Borrow.RID2、从Library中查询每个读者的详细信息(读者、读者类型、借阅图书信息),不允许有重复的列查看全部select a.*, b.*,c.*from Reader a , Borrow b , ReaderType cwhere a.RID=b.RID and a.TypeID=c.TypeID挑选出列:select a.RID,a.Rname,b.typeid,bid,lenddate,returndatefrom Reader a , Borrow b , ReaderType cwhere a.RID=b.RID and a.TypeID=c.TypeID3、从表“Reader”和表“Borrow”中查询出读者的借阅情况,包括没有借书的读者情况。

(提示:左外连接)select Reader.*,Borrow.rid,bidfrom Reader left join Borrow on Reader.RID=Borrow.RID4、从表“Borrow”和表“Book”中查询出图书被借阅的情况,包括没有被借的图书情况(提示:右外连接)select Borrow.rid,Borrow.bid,book.bid,bname,authorfrom Borrow right join book on Borrow.bid=book.bid5、从图书馆Library 中查询出同名且由不同作者编著的图书(提示:自连接)自连接的格式:格式:From 表名1 别名1 join 表名1 别名2 on 连接表达式select a.bid,a.bname,a.author,b.bid,b.bname,b.authorfrom book a ,book bwhere a.bname=b.bname and a.author!=b.author6、对读者表“Reader”、借阅表“Borrow”和图书表“Book”三个表进行等值连接。

数据库查询实验练习(附答案)

数据库查询实验练习(附答案)

一、基本查询说明:按下面的要求,在“图书销售管理系统CH3.mdb”数据库中建立查询。

要求:(以下描述中,低于x的含义指小于x,高于x的含义指大于x,均不含x本身。

如果没有指明查询结果包括哪些字段则指包含源表的所有字段。

)1 查询工作人员信息,结果包括每个员工的所有信息(选择所有列)。

以“查询101”为名称保存查询。

2 查询定价低于30元的图书,结果包括所有字段。

以“查询102”为名称保存查询。

3 查询1970年-1980年之间出生的工作人员(使用BETWEEN运算符),查询结果只包括“人员编号”、“姓名”、“性别”、“出生日期”字段。

以“查询103”为名称保存查询。

4 查询作者姓王的图书(使用LIKE运算)。

以“查询104”为名称保存查询。

5 查询定价低于30元的计算机图书(名称中含有“计算机”),按定价升序排序。

以“查询105”为名称保存查询。

6 查询定价低于30元或者高于50元的图书(使用OR运算符,或者在设计器中填写两行准则)。

以“查询106”为名称保存查询。

7 查询在人员表中记录过照片的工作人员(Is Not Null)。

以“查询107”为名称保存查询。

8 查询已婚员工的信息,显示所有字段,将查询命名为“查询108”。

-------------------------------------------------9 查询高等教育出版社出版的20-50元之间的图书*,和机械工业出版的20-40元之间的图书**。

以“查询109”为名保存查询。

(*和**两组条件为或者关系,需要分别写在两行中。

)10 查询作者姓王名字由两个字组成的图书信息,显示“图书编号”、“书名”、“作者”字段。

以“查询110”为名保存查询。

11 查询图书编号第3个和第4个字符是“40”的图书信息,显示所有字段。

保存为“查询111”。

二、计算字段、复杂条件、参数查询说明:如有困难,请看提示信息。

要求:1 使用计算字段a. 查询每笔进货的支出总额(即进书数量和单价的乘积),显示图书进货表的所有字段和支出总额字段,查询201。

中国大学MOOC慕课爱课程(10)--查询图书借阅数据库新项目测试题参考答案网课刷课

中国大学MOOC慕课爱课程(10)--查询图书借阅数据库新项目测试题参考答案网课刷课

项目5 查询图书借阅数据库 项目测试题参考答案学生情况表(student)字段系别班级专业学号姓名性别出生年月总学分分备注课程号课程名开课学期学 时学 分学 号课程号成 绩学 分以下题目全部再查询分析器用SQL语句实现:1.创建好三张表,并每张表输入至少5条记录,根据实际关系,创建好主键、外键的关系。

并输入记录,在查询分析器中显示学生课程表(course)中课程名和学时,并把学时列列名显示为“学时数”。

2. 输出学生课程表中的所有的列。

参考答案:select*from course3.要查询学生课程表(course)中课程学时数在48到64之内(包含48、64这两个数)的课程的课程号、课程名以及学时数。

参考答案:select课程号,课程名,学时from course where学时between 48 and 644.要在学生情况表(student)中查询软件技术专业、信息管理专业、计算机应用技术专业的学生,使用IN运算符实现。

参考答案:select*from student where专业in('软件技术','信息管理','计算机应用技术')5.要在学生情况表(student)中查询名字中有“胡”字的学生的学号与姓名。

参考答案:select学号,姓名from student where姓名like'%胡%'6.要在学生情况表中查询总学分为空值的学生的学号和姓名。

参考答案:select学号,姓名from student where总学分is null7.要在学生情况表(student)中统计每个专业的学生人数。

参考答案:select COUNT(*)as人数from student group by专业8.在学生课程表(course)中统计每个学期的平均学时。

参考答案:select AVG(学时)as平均课时from course group by开课学期9.在学生课程表(course)中统计每个学期的平均学时,列举大于64的记录。

数据库查询实验练习(附答案)

数据库查询实验练习(附答案)

1 操作查询
1.1 生成表查询。

从"图书信息表"中查询“高等教育”出版社出版的图书的记录(包括字段:图书编号、图书名称、作者、出版社定价),生成数据表“图书信息临时表”。

查询1。

注意:生成的表的最后一个字段名称为“出版社定价”,而非“定价”。

1.2 从“图书信息表”中查询"机械工业"出版社出版的图书的记录,追加到“图书信息临时表”中。

查询2。

1.3 删除查询。

从“图书销售记录”表中删除2005-10-31以前的销售记录。

查询3。

1.4 更新查询。

近期销售业绩每况愈下,图书定价是重要的影响因素,所以,我们要调整价格。

更新"图书信息表"中的记录,使所有图书的定价更新到8折(即原价的80%)。

查询4。

注意:此更新查询不要多次执行,否则定价会越来越低。

1.5 更新查询。

继续进行价格调整,将从未售出图书的定价更新为10元。

查询5。

注意:首先需要找到“未售出”的记录(可参考上次实验的查询2)。

2 交叉表查询
2.1 查询各出版社出版的各类图书的总数量,以交叉表的形式实现。

查询6。

做法和结果所呈现的样式可参考下图
做法。

sql多表连接library练习题(含部分答案)

sql多表连接library练习题(含部分答案)

多表连接习题:1.求在2005年2月3日借书的人的姓名及其所借书的书名。

Select , from borrow join reader on reader.reader_id=borrow.reader_id join book onreader.reader_id=book.book_id whereborrowdate=’2005-2-3’2.求读者施秋乐所借的图书编号、书名和出版社信息及借书时间。

3.查询借阅了数据库原理这本书的读者编号和姓名。

4.查询所有的借阅信息,要求列出借阅人编号、姓名、所借图书编号、书名和借阅日期,并用中文显示列名。

5. 练习:查询借书价格在20-40之间的读者的姓名Select from book join borrow onbook.book_id=borrow.book_id join reader onreader.reader_id =borrow.reader_idWhere price between 20 and 406. 练习:查询‘胡晓丽’借阅‘计算机文化基础’的日期Select borrowdate from book join borrow onbook.book_id=borrow.book_id join reader onreader.reader_id=borrow.reader_id where=’胡晓丽’ and =’计算机文化基础’--------------------------------------------------------------------Select borrowdate from borrow where reader_id in(select reader_id from reader where name=’胡晓丽’ ) and book_id in (select book_id from book where name=’计算机文化基础’)7. 练习:查询所借图书的平均价格多余30元的读者的姓名Select from book join borrow onbook.book_id=borrow.book_id join reader onreader.reader_id=borrow.reader_idGroup by reader.reader_idHaving avg(price)>30Select name from reader where reader_id in(select reader_id from borrow join book on book.book_id=borrow.book_id Group by reader_id having avg(price)>30)多表连接作业:(能用多种方法的题目请用多种方法实现)1.查询成绩大于90分的学生的学号、姓名和选修的课程号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生图书借阅管理数据库数据查询
一、简单查询
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.图书类别)。

相关文档
最新文档