实验5 sql语句练习——图书馆数据库答案

合集下载

(完整版)sql语句练习题及答案

(完整版)sql语句练习题及答案

(完整版)sql语句练习题及答案⼀在数据库 school 中建⽴student , sc, course 表。

学⽣表、课程表、选课表属于数据库School ,其各⾃的数据结构如下:学⽣Student (Sno,Sname,Ssex,Sage,Sdept)课程表course(Cno,Cname,Cpno,Ccredit)学⽣选课SC(Sno,Cno,Grade)⼆设定主码1 Student表的主码:sno2 Course表的主码:cno3 Sc表的主码:sno,cno1写出使⽤ Create Table 语句创建表 student , sc, course 的SQL语句23 删除student表中的元组4在数据库school中删除关系student5在student表添加属性sbirthdate 类型datetimeDelete1 删除所有JSJ 系的男⽣delete from Student where Sdept=’JSJ’ and Ssex=’男’;2 删除“数据库原理”的课的选课纪录delete from SC where Cno in (select Cno fromCourse where Cname=’数据库原理’);Update1 修改0001 学⽣的系科为: JSJ2 把陈⼩明的年龄加1岁,性别改为⼥。

2 修改李⽂庆的1001课程的成绩为93 分3 把“数据库原理”课的成绩减去1分Select 查询语句⼀单表1查询年龄在19⾄21岁之间的⼥⽣的学号,姓名,年龄,按年龄从⼤到⼩排列。

2查询姓名中第2个字为“明”字的学⽣学号、性别。

3查询 1001课程没有成绩的学⽣学号、课程号4查询JSJ 、SX、WL 系的年龄⼤于25岁的学⽣学号,姓名,结果按系排列5按10分制查询学⽣的sno,cno,10分制成绩(1-10分为1 ,11-20分为2 ,30-39分为3,。

90-100为10)6查询 student 表中的学⽣共分布在那⼏个系中。

大学 mysql实验报告(五)附答案

大学 mysql实验报告(五)附答案

实验报告(五)专业:班级:学号:姓名:实验名称:数据库的子查询、组合查询实验报告内容:1、写出习题3第75页第6题的2)3)5)6)小题的SQL语句2)查询读者的读者号、姓名、借阅的图书名、借出日期、归还日期。

SELECT 读者.读者号,姓名,书名,借出日期,归还日期FROM 读者, 图书,借阅WHERE 读者.读者号= 借阅.读者号AND 图书.图书号=借阅.图书号3)查询借阅了机械工业出版社出版,并且书名中包含’数据库’三个字的图书的读者,显示读者号、姓名、书名、出版社,借出日期、归还日期。

SELECT 读者.读者号,姓名,书名,出版社,借出日期,归还日期FROM 读者,图书,借阅WHERE 读者.读者号= 借阅.读者号AND 图书.图书号=借阅.图书号AND 出版社=‘机械工业出版社’ AND 书名LIKE’%数据库%’5)查询与’王平’的办公电话相同的读者的姓名。

SELECT R2.姓名FROM 读者R1, 读者R2where R1.办公电话= R2.办公电话AND R1.姓名='王小平'此语句等价与:SELECT 姓名FROM 读者WHERE 办公电话=(SELECT 办公电话FROM 读者WHERE 姓名='王小平')6)查询办公电话为’88320701’的所有读者的借阅情况,要求包括借阅了书籍的读者和没有借阅的读者,显示他们的读者号、姓名、书名、借阅日期。

SELECT 读者.读者号,姓名,图书号,借出日期FROM 读者, 借阅WHERE 读者.读者号*=借阅.读者号AND 办公电话=‘88320701’上述左外连接可可以用右外连接等价表示:SELECT 读者.读者号,姓名,图书号,借出日期FROM 读者,借阅WHERE 借阅.读者号=* 读者.读者号AND 办公电话=‘88320701’在SQLSERVER2000中,以上左外连接还可等价表示为:SELECT 读者.读者号,姓名,图书号,借出日期FROM 读者LEFT JOIN 借阅ON 读者.读者号= 借阅.读者号WHERE 办公电话=‘88320701’或者用右连接表示为:SELECT 读者.读者号,姓名,图书号,借出日期FROM 借阅RIGHT JOIN 读者ON 借阅.读者号= 读者.读者号WHERE 办公电话=‘88320701’2、写出习题3第75页第7题的1)2)4)8)小题的SQL语句1)查询所有单价小于平均单价的图书号、书名、出版社SELECT 图书号,书名,出版社FROM 图书WHERE 单价< (SELECT A VG(单价)’平均单价’ FROM 图书)2)查询’科学出版社’的图书中单价比’机械工业出版社’最高单价还高的的图书书名、单价。

SQL数据库完整版答案

SQL数据库完整版答案

SQL数据库完整版答案1、T-SQL语言中,用什么关键字定义局部变量,用什么关键字给变量赋值。

(p52)答:使用DECLARE/declare关键字来定义局部变量;用SET/set 和SELECT/select语句给变量赋值;2、自定义函数有几种?(p211)答:自定义函数有3种:标量值、嵌表值、多语句表值3、局部变量以什么开头?全局变量以开头?答:局部变量是以开头,全局变量是以开头;4、数据完整性包括哪几种?(p179)答:数据完整性包括三种:完体完整性、域完整性、参照完整性;5、MS-SQL数据库常包含哪三类文件?(p116)答:MS-SQL数据库通常包含着:主数据文件(.mdf)、次要数据文件(.ndf)、事务日志文件(.ldf);6、MS-SQL数据控制语言中,使用什么关键字授予权限,使用什么关键字撤销权限?(p95)答:使用GRANT/grant关键字授予权限,使用REVOKE/revoke 关键字撤销权限,使用DENY/deny关键字拒绝用户访问;7、DML触发器中,AFTER触发器和INSTEAD OF触发器有什么区别?(p235)答:(1)AFTER触发器只能在表上定义该类的触发器,并且只有执行INSERT,UPDATE和DELETE操作之后,才会触发;(2)INSTEAD OF触发器该类型触发器不执行INSERT,UPDATE和DELETE操作,而只是执行触发器本身;而且还可以在基于一个或多个基表的视图上定义;8、SQL SERVER中聚焦索引和非聚焦索引有什么区别?(p169)答:聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物理顺序,一个表中只能有一个聚集索引非聚集索引:该索引是数据表中行的物理顺序与索引键值的逻辑顺序不相同,仅指向表中数据,可以在表中定义,但其检测效率较低。

作为和数据表分离的对象操作,表中的每一列都有自己的自己的索引。

9、能够激活DML触发器的数据修改语句是使用INSERT\UPDATE\DELETE\SELECT中哪个选项?UPDATE10、数据库备份的类型有哪几种?能够将数据恢复到某个时间点的备份设置是哪个?(P131)答:(1)数据库备份的类型有四种:完整数据备份、差异数据库备份、事务日志备份、文件和文件组备份;(2)能将数据库恢复到某个时间点的备份设置是:事务日志备份;11、SQL SERVER的登录账户信息保存在哪个系统数据库中?(p117)答:用户登录账户信息保存在master系统数据库中;12、语句INSERT SELECT语句有什么作用?(p92)答:(1)INSERT SELECT语句可以完成一次插入一个数据块的功能;(2)INSERT SELECT语句可以把其他数据源的行添加到现有表中;复制表13、T-SQL语言的字符串常量是使用什么符号当作定界符?’’答:字符串常量是使用’’单引号符号当作定界符;14、FOREIGN KEY约束定义了表之间的什么?(p185)答:FOREIGN KEY约束定义对同一个表或另一个表中具有PRIMARY KEY 或UNIQUE约束的列的引用;(另一个答案):FOREIGN KEY约束定义了表之间的一个列或多列组合.15、域约束有哪几种?(p179)答:域约束有:CHECK约束、DEFAULT约束。

SQL试题以及答案

SQL试题以及答案

SQL试题以及答案一、已知一个教学管理信息系统,其数据表间约束如下图所示:(一)要求:使用“教学管理数据库”,完成下列操作。

1、返回“班级表”中的所有行和所有列。

2、检索“学生表”中的学号、姓名、性别和籍贯字段。

3、求所有学生在2022年的年龄。

4、查找所有入学成绩大于等于600的同学的学号、姓名和入学成绩。

5、查找以姓“王”开头的学生学号和姓名。

6、查找第二个字符为“中”字的学生学号和姓名。

7、查询所有学生的入学成绩,查询结果按入学成绩的降序排列。

8、对所有学生按入学成绩排降序和出生日期排降序输出学号、姓名、入学成绩和出生日期。

9、查找来自于东北地区的学生信息,即籍贯为吉林、辽宁或黑龙江的学生,显示学号、姓名、性别和籍贯。

10、查找“计算机科学技术2022-02班”的人数和班主任。

(二)打开“教学管理数据库”,完成下列任务。

1、求成绩在90分以上人的学号、姓名和成绩。

2、将“学生表”、“成绩表”和“课程表”进行自然连接,求结果。

3、求“郭达雷”的成绩表。

4、求统计学081班的所有成绩单。

5、求每个同学所修课程的总学分,且按总学分降序输出。

6、求所修课程总学分在11分以上的姓名。

(三)打开“教学管理数据库”,其数据表间约束如上图所示,各个数据表的数据类型请自行查阅,完成下列任务。

1.查询全体学生的姓名、学号和年龄。

并将结果保存在C:\\reult.t 某t中。

2.查询选修了课程且成绩及格以上的学生学号。

3.输出学生表中所有的籍贯。

(去除重复的记录)4.统计少数民族且在1990年或1992年出生的同学人数。

5.查询查找成绩最高分的同学学号、课程号和成绩。

6.查询选课成绩最高的同学学号、姓名、课程号和相应的成绩。

应成绩,按学号排序输出。

9.查询至少选修课程的总分在30分以上的同学学号、姓名、班级名称和总分。

10.查询选修了“邓小平理论”课程的同学学号、选课成绩。

二、已知一个图书管理信息系统,其数据表间约束如下图所示:(一)打开“图书管理”数据库,完成下列工作。

数据库sql课后练习题及答案解析

数据库sql课后练习题及答案解析

先创建下面三个表:(book表)(borrow表)(reader表)1) 找出姓李的读者姓名(NAME)和所在单位(COMPANY)。

2) 列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。

3) 查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排序。

4) 查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OU TPUT)和单价(PRICE)升序排序。

5) 查找书名以”计算机”开头的所有图书和作者(WRITER)。

6) 检索同时借阅了总编号(BOOK_ID)为和两本书的借书证号(READER_ID)。

##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。

8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。

9)* 无重复地查询2006年10月以后借书的读者借书证号(READER_ID)、姓名和单位。

##10)* 找出借阅了<FoxPro大全>一书的借书证号。

11) 找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。

12) 查询2006年7月以后没有借书的读者借书证号、姓名及单位。

#13) 求”科学出版社”图书的最高单价、最低单价、平均单价。

##14)* 求”信息系”当前借阅图书的读者人次数。

#15) 求出各个出版社图书的最高价格、最低价格和总册数。

#16) 分别找出各单位当前借阅图书的读者人数及所在单位。

17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。

18) 分别找出借书人次数多于1人次的单位及人次数。

19) 找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。

20) 查询经济系是否还清所有图书。

如果已经还清,显示该系所有读者的姓名、所在单位和职称。

附录:建表语句创建图书管理库的图书、读者和借阅三个基本表的表结构:创建BOOK:(图书表)CREATE TABLE BOOK (BOOK_ID int,SORT VARCHAR(10),BOOK_NAME VARCHAR(50),WRITER VARCHAR(10),OUTPUT VARCHAR(50),PRICE int);创建READER:(读者表)CREATE TABLE READER (READER_ID int,COMPANY VARCHAR(10),NAME VARCHAR(10),SEX VARCHAR(2),GRADE VARCHAR(10),ADDR VARCHAR(50));创建BORROW:(借阅表)CREATE TABLE BORROW (READER_ID int,BOOK_ID int,BORROW_DATE datetime)插入数据:BOOK表:insert into BOOK values(,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into BOOK values(,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into BOOK values(,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into BOOK values(,'TP5/10','计算机基础','李伟','高等教育出版社',18.00);insert into BOOK values(,'TP3/12','FoxBASE','张三','电子工业出版社',23.60);insert into BOOK values(,'TS7/21','高等数学','刘明','高等教育出版社',20.00);insert into BOOK values(,'TR9/12','线性代数','孙业','北京大学出版社',20.80);insert into BOOK values(,'TR7/90','大学英语','胡玲','清华大学出版社',12.50);insert into BOOK values(,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50);insert into BOOK values(,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50);insert into BOOK values(,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50);insert into BOOK values(,'TP4/14','FoxPro大全','周虹','科学出版社',32.70);insert into BOOK values(,'TP4/14','FoxPro大全','周虹','科学出版社',32.70);insert into BOOK values(,'TP4/15','计算机网络','黄力钧','高等教育出版社',21.80);insert into BOOK values(,'TP4/15','计算机网络','黄力钧','高等教育出版社',2 1.80);READER表:insert into reader values(111,'信息系','王维利','女','教授','1号楼424'); insert into reader values(112,'财会系','李立','男','副教授','2号楼316 ');insert into reader values(113,'经济系','张三','男','讲师','3号楼105'); insert into reader values(114,'信息系','周华发','男','讲师','1号楼316'); insert into reader values(115,'信息系','赵正义','男','工程师','1号楼224 ');insert into reader values(116,'信息系','李明','男','副教授','1号楼318 ');insert into reader values(117,'计算机系','李小峰','男','助教','1号楼214 ');insert into reader values(118,'计算机系','许鹏飞','男','助工','1号楼216 ');insert into reader values(119,'计算机系','刘大龙','男','教授','1号楼318 ');insert into reader values(120,'国际贸易','李雪','男','副教授','4号楼506');insert into reader values(121,'国际贸易','李爽','女','讲师','4号楼510 ');insert into reader values(122,'国际贸易','王纯','女','讲师','4号楼512 ');insert into reader values(123,'财会系','沈小霞','女','助教','2号楼202'); insert into reader values(124,'财会系','朱海','男','讲师','2号楼210'); insert into reader values(125,'财会系','马英明','男','副教授','2号楼212 ');BORROW表:insert into borrow values(112,,'3-19-2006');insert into borrow values(125,,'2-12-2006');insert into borrow values(111,,'8-21-2006');insert into borrow values(112,,'3-14-2006');insert into borrow values(114,,'10-21-2006');insert into borrow values(120,,'11-2-2006');insert into borrow values(120,,'10-18-2006');insert into borrow values(119,,'11-12-2006');insert into borrow values(112,,'10-23-2006');insert into borrow values(115,,'8-21-2006');insert into borrow values(118,,'9-10-2006');现有关系数据库如下:数据库名:图书借阅管理系统读者表(读者编号 char(6),姓名,性别,年龄,单位,身份证号,职称)图书表(图书编号char(6),图书名称,出版社,作者)借阅表(读者编号,图书编号,借阅时间)用SQL语言实现下列功能的sql语句代码。

05实验五参考标准答案

05实验五参考标准答案

实验五SQL参数查询、子查询与数据更新
第二部分实验:
打开“图书管理”数据库,完成下列工作。

已知一个图书管理信息系统,其数据表间约束如下图所示,各个数据表的数据类型如上题表所示。

编写SQL完成下列功能。

用子查询完成以下实验:
(1)查询未归还图书的读者编号、姓名和性别。

(2)查询没有借过书的读者姓名
(3)查询至少借阅了3本图书的读者编号、姓名、图书编号和图书名称,并按读者编号排序(4)查询已借阅图书但尚未归还的读者编号、姓名和工作单位
(5)查询没有借阅管理类图书的读者编号、姓名和出生日期
用数据更新完成以下实验:
(6)将计算机类的图书单价减少5元
(7)将1987年出生的读者所借图书改为“已归还”
(8)插入一条借书记录:读者编号06-00008,图书编号003-000024,借书日期2007-3-25,还书日期2007-5-25,未归还。

(9)删除2006年8月的借书记录。

(10)删除读者欧阳思思的借书记录。

用参数查询完成以下实验:
(11)输入图书入库时间上、下限,查询在上限和下限期间入库图书的图书编号、图书名称和入库时间。

数据库实验5答案

数据库实验5答案

实验五:数据库综合查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件种类和表示方法;3.掌握连接查询的表示及使用;4.掌握嵌套查询的表示及使用;5.了解集合查询的表示及使用。

二、实验环境已安装SQL Server企业版的计算机(120台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.了解SELECT语句的基本语法格式和执行方法;2.了解连接查询的表示及使用;3.了解嵌套查询的表示及使用;4.了解集合查询的表示及使用;5.完成实验报告;五、实验内容及步骤1.利用Transact-SQL嵌套语句实现下列数据查询操作。

1) 查询选修了计算机体系结构的学生的基本信息。

select*from studentwhere Sno in(select Sno from coursewhere Cno in(select Cno from sc where Cname='计算机体系结构'))2) 查询年龄比李勇小的学生的学号和成绩。

select a.sno,grade from student a,coursewhere a.sno=course.sno and sage<(select sage from student where sname='李勇')3) 查询其他系中比系编号为‘D1’的学生中年龄最小者要大的学生的信息。

select*from student where dnum<>'D1'AND SAGE>(select min(sage)from student where dnum='D1')4) 查询其他系中比系编号为‘D3’的学生年龄都大的学生的姓名。

select*from student where dnum<>'D3'AND SAGE>all(selectsage from student where dnum='D3')5) 查询‘C1’课程的成绩高于70的学生姓名。

数据库中SQL查询语句习题含答案

数据库中SQL查询语句习题含答案

数据库中SQL查询语句习题含答案查询问题:设教学数据库Education 有三个关系:学生关系S (SNO ,SNAME ,AGE ,SEX ,SDEPT );学习关系SC (SNO ,CNO ,GRADE );课程关系C (CNO ,CNAME ,CDEPT ,TNAME )(1)检索计算机系的全体学生的学号,姓名和性别;(2)检索学习课程号为C2的学生学号与姓名;(3)检索选修课程名为“DS ”的学生学号与姓名;(4)检索选修课程号为C2或C4的学生学号;(5)检索至少选修课程号为C2和C4的学生学号;(6)检索不学C2课的学生姓名和年龄;(7)检索学习全部课程的学生姓名;(8)查询所学课程包含学生S3所学课程的学生学号。

(1)检索计算机系的全体学生的学号,姓名和性别; SELECT Sno ,Sname ,Sex FROM SWHERE Sdept =’CS ’;(2)检索学习课程号为C2的学生学号与姓名;(3)检索选修课程名为“DS ”的学生学号与姓名本查询涉及到学号、姓名和课程名三个属性,分别存放在S 和C 表中,但S 和C 表没有直接联系,必须通过SC 表建立它们二者的联系。

C → SC → S 基本思路:(1)首先在C 表中找出“DS ”课程的课程号Cno ;(2)然后在SC 表中找出Cno 等于第一步给出的Cno 集合中的某个元素Cno ;(3)最后在S 关系中选出Sno 等于第二步中Sno 集合中某个元素的元组,取出Sno 和Sname 送入结果表列。

SELECT Sno ,Sname FROM SWHERE Sno IN (SELECT Sno FROM SCWHERE Cno IN (SELECT Cno FROM CWHERE Cname=‘DS ’));(4)检索选修课程号为C2或C4的学生学号; SELECT Sno FROM SCWHERE Cno=‘C2’ OR Cno=‘C4’;(5)检索至少选修课程号为C2和C4的学生学号; SELECT SnoFROM SC X ,SC YWHERE X.Sno=Y.Sno AND/doc/d33e82944b7302768e9951e79b89680202d86b33.html o=‘C2’ AND /doc/d33e82944b7302768e9951e79b89680202d86b33.html o=‘C4’;(6)检索不学C2课的学生姓名和年龄;(7)检索学习全部课程的学生姓名;在表S 中找学生,要求这个学生学了全部课程。

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

实验5sql语句练习——图书馆数据库实验5 sql语句练习——图书馆数据库实验目的(1)了解SQL Server数据库的逻辑结构和物理结构;(2)了解表的结构特点;(3)了解SQL Server的基本数据类型;(4)了解空值概念;(5)学会在企业管理器中创建数据库和表;(6)学会使用T-SQL语句创建数据库和表。

(7)学会使用T-SQL语句更新数据。

(7)学会使用T-SQL语句创建多种查询。

实验准备首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。

其次创建数据库必须要确定数据库名、数据库大小(最初的大小、最大的大小、是否允许增长及增长方式)和存储数据库的文件。

然后,确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。

此外还要了解两种常用的创建数据库、表的方法,即在企业管理器中创建和使用T-SQL的CREATE DA TABASE语句。

实验内容假设有5本书设有一图书馆数据库,其中包括3个表,即图书表、读者表和借阅表。

三个表的结构如图:读者表结构(1)用Sql语句创建图书馆数据库Create database Lab05(2)用Sql语句创建上述3个表create table book(bookId char(10)primary key,bookName varchar(50),bookWriter varchar(30),bookPublish varchar(30),bookPrice float)create table reader(readerId char(10) primary key,readerName varchar(8)not null,readerSex char(2)not null,readerOfficeTel char(8),readerDepartment varchar(30))create table 借阅表(readerId char(10),bookId char(10),checkOutTime char(8),checkInTime char(8),primary key(readerId,bookId),foreign key (readerId) references reader(readerId),foreign key (bookId) references book(bookId),)(3)基于图书馆数据库的3个表,用sql语言完成一下操作:1)为图书表增加一列“ISBN”,数据类型为CHAR(10)alter table book add ISBN char(10)2)为刚添加的ISBN列增加缺省值约束,约束名为ISBNDEF,缺省值为‘7111085949’ALTER TABLE book ADD CONSTRAINT ISBNDEF DEFAULT ('7111085949') FOR ISBN 3)删除图书表中ISBN列增加的缺省值约束alter table book drop ISBNDEF4)删除图书表中新增的ISBN列ALTER TABLE book DROP COLUMN ISBN5)查询全体图书的图书号、书名、作者、出版社和单价select bookId,bookName,bookWriter,bookPublish,bookPricefrom book6)查询全体图书的信息,其中单价打8折,并设置该列的别名为‘打折价’select bookId,bookName,bookWriter,bookPublish,(bookPrice*0.8) as打折价from book7)显示所有借阅者的读者号,并去掉重复行select distinct readerIdfrom 借阅表8)查询所有单价在20—30元之间的图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhere bookPrice between 20 and 309)查询机械工业出版社、科学出版社、人民邮电出版社的图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhere bookPublish in('机械工业出版社' , '科学出版社','人民邮电出版社')10)查询既不是机械工业出版社、人民邮电出版社、也不是科学出版社出版的图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhere bookPublish not in('机械工业出版社' , '科学出版社','人民邮电出版社')11)查询姓名的第二个字符是’建’,并且只有2个字的读者的读者号及姓名select readerId,readerNamefrom readerwhere readerName like '_建'12)查询姓名不是以‘王’、‘张’或‘李’开头的所有读者的读者号及姓名【方式一】查询出来的结果有问题!select readerId,readerNamefrom readerwhere readerName not in ('王%','张%','李%')【方式二】select readerId,readerNamefrom readerwhere readerName not in(select readerNamefrom readerwhere readerName like'王%'or readerName like'张%'or readerName like'李%' )13)查询无归还日期的借阅信息select book.bookId,book.bookName,reader.readerId,reader.readerName,借阅表.checkOutTime as 借书时间,借阅表.checkInTime as 还书时间from 借阅表,book,readerwhere 借阅表.bookId = book.bookIdand 借阅表.readerId = reader.readerIdand 借阅表.checkInTime is null14)查询机械工业出版社图书的平均价格、最高价、最低价select avg(bookPrice)as 平均价格,max(bookPrice) as 最高价,min(bookPrice) as 最低价from bookwhere bookPublish = '机械工业出版社图书'15)查询读者的基本信息及借阅情况select reader.readerId,reader.readerName ,借阅表.bookId,book.bookName,book.bookPublishfrom reader , 借阅表,bookwhere reader.readerId = 借阅表.readerIdand book.bookId = 借阅表.bookIdand 借阅表.readerId ='1000000007'16)查询至少借阅过1本机械工业出版社出版的图书的读者的读者号、姓名、书名及借阅本数,并按借阅本书多少降序排列select r.Rno,Rname,count(borrow.Bno) 借阅册数from borrow,b,rwhere b.bno=borrow.bno and press='机械工业出版社' and borrow.rno=r.rnogroup by r.rno,Rnameorder by count(borrow.Bno) desc17)查询与‘王小平’的办公电话相同的读者的姓名/* 使用“自连接方式”求解*/select b.readerName,b.readerId,a.readerOfficeTelfrom reader a, reader bwhere a.readerName like '王小平'and a.readerOfficeTel = b.readerOfficeTel/*18)查询所有单价小于平均单价的图书的书号、书名及出版社select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPrice <(select avg(bookPrice) as averagePricefrom book)19)查询‘科学出版社’的图书单价比‘机械工业出版社’最高单价还高的图书书名及单价select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPublish like '科学出版社' and bookPrice >(select max(bookPrice)from bookwhere bookPublish = '机械工业出版社')20)查询‘科学出版社’的图书中单价比‘机械工业出版社’最低单价高的图书书名及单价select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPrice <(select max(bookPrice)from bookwhere bookPublish = '机械工业出版社')and bookPublish like '科学出版社'21)创建机械工业出版社图书的视图CREATE VIEW 机械工业出版社ViewASSELECT bookId,bookName,bookPriceFROM bookWHERE bookPublish = '机械工业出版社'22)创建一个借阅统计视图,名为CountView,包含读者的读者号和总借阅本数CREATE VIEW CountViewASSELECT readerId as 读者号,count(*) as 总借阅本数FROM 借阅表GROUP BY readerId23)创建一个借阅统计视图,名为CountView10,包含借阅总本数打于2的读者号和总借阅本数CREATE VIEW 借阅统计视图ViewASSELECT readerId as 读者号,count(*) as 总借阅本数FROM 借阅表GROUP BY readerIdHA VING COUNT(*) >2。

相关文档
最新文档