实验5 sql语句练习——图书馆数据库答案
(完整版)sql语句练习题及答案
![(完整版)sql语句练习题及答案](https://img.taocdn.com/s3/m/9a4e08fe4bfe04a1b0717fd5360cba1aa8118c44.png)
(完整版)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实验报告(五)附答案](https://img.taocdn.com/s3/m/aea7436f011ca300a6c39098.png)
实验报告(五)专业:班级:学号:姓名:实验名称:数据库的子查询、组合查询实验报告内容: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数据库完整版答案](https://img.taocdn.com/s3/m/1f71e40a2e60ddccda38376baf1ffc4ffe47e21b.png)
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试题以及答案](https://img.taocdn.com/s3/m/317db5b5970590c69ec3d5bbfd0a79563c1ed409.png)
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课后练习题及答案解析](https://img.taocdn.com/s3/m/f950d78df524ccbff1218471.png)
先创建下面三个表:(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实验五参考标准答案](https://img.taocdn.com/s3/m/69478564f7ec4afe04a1dfa9.png)
实验五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答案](https://img.taocdn.com/s3/m/16dd04d433d4b14e85246859.png)
实验五:数据库综合查询一、实验目的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查询语句习题含答案](https://img.taocdn.com/s3/m/679a10e8988fcc22bcd126fff705cc1755275feb.png)
数据库中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 中找学生,要求这个学生学了全部课程。
SQL语句练习及参考答案(2021年整理精品文档)
![SQL语句练习及参考答案(2021年整理精品文档)](https://img.taocdn.com/s3/m/6e8ca30f4afe04a1b171dea1.png)
SQL语句练习及参考答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(SQL语句练习及参考答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为SQL语句练习及参考答案的全部内容。
SQL 语句练习1。
设学生选课数据库有关系S (sno ,sname ,age ,sex )、SC (sno ,cno ,grade )和C (cno,cname,teacher ),分别表示学生、选课和课程,sno 代表学号,sname 代表学生姓名,age 代表年龄,sex 代表性别,grade 代表成绩,cno 代表课程号,teacher 代表任课教师。
试完成表示下列查询。
(1)检索年龄大于21的男学生学号(sno )和姓名(sname)。
(2)建立性别只能为“男”、“女"的约束。
(3)创建一个视图v1,该视图用来查询学生的选课情况,要求包含:学生姓名(sname),课程名(cname),任课教师teacher 和成绩grade 。
(4)检索选修课程号为k1和k5的学生学号(sno ). (5)检索全部学生都选修的课程的课程号(cno)和课程名(cname )。
(6)删除所有男同学的选课记录。
1。
(1)select sno ,snae from s where sex=’男' and age 〉21(2)alter table s add constraint c1 check sex in (‘男’,’女')(3)create view v1 as select sname ,cname,teacher,grade from s ,sc ,c where s 。
SQL语句练习参考答案(教学数据库)
![SQL语句练习参考答案(教学数据库)](https://img.taocdn.com/s3/m/c9c0da43336c1eb91a375db1.png)
以下为SQL查询练习参考答案(查询用到的表参照教材P82)。
1.查询全体学生的姓名和所在系。
Select Sno,SdeptFrom Student;2.查询所有课程的详细信息。
Select *From Course;或者Select Cno,Cname,Cpno,CcreditFrom Course;3.查询选修了课程的学生学号。
Select Distinct SnoFrom SC;注意:select子句中需要指定Distinct 关键词4.查询有学生选修的课程号。
Select Distinct CnoFrom SC;5.检索年龄在 18到 20之间(含18和20)的女生的学号、姓名及年龄。
Select Sno,Sname,SageFrom StudentWhere Ssex=’女’ and (Sage between 18 and 20);注意: where子句性别的常量值——女,需用英文状态下的单引号或双引号。
或者Select Sno,Sname,SageFrom StudentWhere Ssex=’女’ and (Sage >=18 and Sage<= 20);6.检索“200215121”学生选修课程号及成绩。
Select Cno,GradeFrom SCWhere Sno=’200215121’;7.检索选修了“1”号或“3”号课程的学生学号、课程号及成绩。
Select *From SCWhere Cno=’1’ or Cno=’3’;注意: where子句若用Cno=’1’ or ’3’是错误的,or连接的是两个布尔表达式。
8.检索所有姓王的同学的姓名、性别和所在系。
Select Sname,Ssex,SdeptFrom StudentWhere Sname like ’王*’;注意: Access中的通配符为’*’ 和’?’标。
准SQL中的通配符为’%’ 和’_’9.检索课程名中包括“数据库”的课程详细信息,结果按学分降序排列。
数据库中sql查询语句习题含答案
![数据库中sql查询语句习题含答案](https://img.taocdn.com/s3/m/f21e181b854769eae009581b6bd97f192279bfb4.png)
查询问题:设教学数据库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 SC WHERE Cno=‘C2’ OR Cno=‘C4’;(5)检索至少选修课程号为C2与C4的学生学号; SELECT SnoFROM SC X,SC Y WHERE X 、Sno=Y 、Sno AND X 、Cno=‘C2’ AND Y 、Cno=‘C4’ ; (6)检索不学C2课的学生姓名与年龄;(7)检索学习全部课程的学生姓名; 在表S 中找学生,要求这个学生学了全部课程。
实验5-数据库的简单查询操作答案
![实验5-数据库的简单查询操作答案](https://img.taocdn.com/s3/m/7acdb1c0b4daa58da1114adb.png)
实验5 数据库的高级查询操作(一)一、实验目的1.掌握使用查询分析器的使用方法。
2.掌握使用SELECT语句进行数据库单表的高级查询。
3.掌握使用SELECT语句的GROUP BY子句的使用方法。
4.掌握使用SELECT 语句的嵌套查询方法。
5.掌握使用SELECT语句的UNION 合并查询方法。
一、实验内容从查询分析器中导入实验文件夹中的“实验5 数据库的简单查询操作初始化数据.sql ”文件并运行,然后完成下面题目:(提示:学生信息表(Students):属性:学号(Sno),姓名(Sname),性别(Ssex),系别(Sdept),年龄(Sage)。
其中学号设为主键,学号和姓名不能为空,性别取值只能是F或M,系别缺省值为“计算机”。
选课信息表(Enrollment)。
属性:学号(Sno),课程名(Cno),成绩(Grade)。
其中课程号设为主键,课程号和课程名不能为空.。
课程信息表(Course)。
属性:课程号(Cno),课程名称(Cname),学分(Credits)。
)(1)从学生信息表中查询所有学生的所有信息。
SQL代码如下:SELECT *FROM Students(2)从学生信息表中查询所有学生的姓名和学号信息并分别赋予一个中文列名。
SQL代码如下:SELECT Sname AS '姓名', Sno AS '学号'FROM Students(3)从学生信息表中查询姓名是‘Allen’的学生的所有信息。
SQL代码如下:SELECT *FROM StudentsWHERE Sname = 'Allen'(4)从学生信息表中查询学号在1101到1199之间的所有学生的信息SQL代码如下:SELECT *FROM StudentsWHERE Sno BETWEEN 1101 AND 1199(5)从学生信息表中查询年龄小于在18和大于20的所有学生的学号和姓名。
SQL数据库操作练习(五)附答案
![SQL数据库操作练习(五)附答案](https://img.taocdn.com/s3/m/3f54abd10408763231126edb6f1aff00bfd57053.png)
SQL数据库操作练习(五)附答案SQL数据库操作练习(五)一、准备练习所需环境下载老师提供的数据库备份文件lianxi_bak。
打开企业管理器,逐级展开“控制台根目录”,右击“数据库”,选“所有任务/还原数据库”,输入数据库名lianxi,选“从设备”还原,然后“选择设备”,“添加”备份文件lianxi_bak,最后“确定”。
二、在查询分析器中使用SQL语句完成以下练习,并记下答案。
注意:以下习题均在lianxi数据库中完成。
1.创建存储过程p_yuwen ,要求存储过程运行时只输出chengjibiao 表中所有女同学的姓名、年龄和语文成绩并按语文成绩降序排列。
答案:create procedure p_yuwen as select 姓名,年龄,语文from chengjibiao where 性别='女' order by 语文desc2.创建视图yuwen ,要求只包含chengjibiao 表中所有女同学的姓名、年龄和语文成绩并按语文成绩降序排列。
答案:create view yuwen as select top 50 姓名,年龄,语文from chengjibiao where 性别='女' order by 语文desc3.创建存储过程p_pingjun ,要求存储过程运行时查询chengjibiao表中各年龄段的英语平均成绩,只输出英语平均分大于75分的年龄段。
输出列名为“年龄”和“英语平均”。
答案:create procedure p_pingjun as select 年龄,avg(英语) as 英语平均from chengjibiao group by 年龄having avg(英语)>75 4.创建触发器t_chengji ,要求当运行了插入、更新、删除chengjibiao 表中记录的SQL命令后,立即显示chengjibiao表中所有内容。
第5章 SQL填空练习题(完整语句答案)
![第5章 SQL填空练习题(完整语句答案)](https://img.taocdn.com/s3/m/93f2260352ea551810a687fc.png)
所需要参考的数据库及数据库表结构如下:图书管理数据库图书(总编号C(6),分类号C(8),书名C(16),作者C(6)),出版单位C(20) ,单价N(6,2))读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6) ,地址C(20))借阅(借书证号C(4),总编号C(6),借书日期D)成绩管理数据库学生(学号C(8),姓名C(6),性别C(2),专业C(10),生日D)课程号(课程号C(2),课程名C(10),学分N(1))选课(学号C(2),课程号C(2),成绩N(5,2))1.用SQL的CREATE命令建立借阅表,请对下面的SQL语句填空:CREATE TABLE 借阅1(借书证号 C(4),总编号 C(6),借书日期 D) 2.将读者表中的借书证号属性的宽度由原来的4改为5,请对下面的SQL 语句填空:ALTER TABLE 读者 alter 借书证号 C(5)3.为图书管理数据库的读者表增加工资属性(N(8,2))。
请对下面的SQL语句填空:ALTER TABLE 读者 add 工资 N(8,2)4.对于读者表,为工资属性增加有效性规则(工资大于等于0)和出错提示信息(工资应该大于等于0!)。
请对下面的SQL语句填空:ALTER TABLE 读者 ALTER 工资;set check 工资>=0 error [工资应该大于等于0!]5.对于借阅表,将借书证号和总编号定义为借阅表的候选索引,索引名为hxsy。
请对下面的SQL语句填空:ALTER TABLE 借阅 add unique 借书证号+总编号;tag hxsy6.将读者表中的借书证号属性名改为书证号,请对下面的SQL语句填空:ALTER TABLE 读者 rename 借书证号 to 书证号7.对于读者表,将工资属性的有效性规则取消。
请对下面的SQL语句填空:ALTER TABLE 读者 alter 工资 drop check8.删除借阅表的候选索引hxsy。
SQL数据库完整版答案.docx
![SQL数据库完整版答案.docx](https://img.taocdn.com/s3/m/00ba5319af45b307e971970f.png)
1、T-SQL语言中,用什么关键字定义局部变量,用什么关键字给变量赋值。
(p52)答:使用DECLARE/declare关键字来定义局部变量;用SET/set和SELECT/select语句给变量赋值;2、自定义函数有几种?(p211)答:自定义函数有3种:标量值、内嵌表值、多语句表值3、局部变量以什么开头?全局变量以开头?答:局部变量是以@开头,全局变量是以@@开头;4、数据完整性包括哪几种?(pl79)答:数据完整性包括二种:完体完整性、域完整性、参照完整性;5、MS-SQL数据库中通常包含哪三类文件?(pll6)答: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操作Z后,才会触发;(2) INSTEAD OF触发器该类型触发器不执行INSERT, UPDATE 和DELETE操作,而只是执行触发器木身;而且还可以在基于一个或多个基表的视图上定义;8、S QL SERVER中聚焦索引和非聚焦索引有什么区别?(pl69)答:聚集索引:该索引中键值的逻辑顺序决定了表中和应行的物理顺序,一个表中只能有一个聚集索引非聚集索引:该索引是数据表中行的物理顺序与索引键值的逻辑顺序不相同,仅指向表中数据,可以在表中定义,但其检测效率较低。
作为和数据表分离的对象操作,表中的每一列都有自己的自己的索引。
9、能够激活DML触发器的数据修改语句是使用INSERT\UPDATE\DELETE\SELECT 中明B个选项? UPDATE10、数据库备份的类型有哪几种?能够将数据恢复到某个时间点的备份设置是哪个?(P131)答:(1)数据库备份的类型有四种:完整数据备份、差异数据库备份、事务日志备份、文件和文件组备份;(2)能将数据库恢复到某个吋间点的备份设置是:事务日志备份;11 > SQL SERVER的登录账户信息保存在哪个系统数据库中?(pll7) 答:用户登录账户信息保存在master系统数据库中;12、语句INSERT SELECT语句有什么作用?(p92)答:(1) INSERT SELECT语句可以完成一次插入一个数据块的功能;(2)INSERT SELECT语句叮以把其他数据源的行添加到现有表中;复制表13、T-SQL语言的字符串常量是使用什么符号当作定界符?M答:字符串常量是使用’’单引号符号当作定界符;14、FOREIGN KEY约束定义了表之间的什么?(pl85)答:FOREIGN KEY约束定义对同一个表或另一个表屮具有PRIMARY KEY或UNIQUE约束的列的引用;(另一个答案):FOREIGN KEY约束定义了表之间的•个列或多列组合.15、域约束有哪几种?(pl79)答:域约束有:CHECK约束、DEFAULT约束。
数据库sql课后练习题及答案解析
![数据库sql课后练习题及答案解析](https://img.taocdn.com/s3/m/15585117492fb4daa58da0116c175f0e7cd11966.png)
数据库sql课后练习题及答案解析第一篇:数据库sql课后练习题及答案解析先创建下面三个表:(book表)(borrow表)(reader表)1)找出姓李的读者姓名(NAME)和所在单位(COMPANY)。
2)列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。
3)查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排序。
4)查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。
5)查找书名以”计算机”开头的所有图书和作者(WRITER)。
6)检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)。
##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。
8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。
9)* 无重复地查询2006年10月以后借书的读者借书证号(READER_ID)、姓名和单位。
##10)* 找出借阅了一书的借书证号。
11)找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。
12)查询2006年7月以后没有借书的读者借书证号、姓名及单位。
#13)求”科学出版社”图书的最高单价、最低单价、平均单价。
##14)* 求”信息系”当前借阅图书的读者人次数。
#15)求出各个出版社图书的最高价格、最低价格和总册数。
#16)分别找出各单位当前借阅图书的读者人数及所在单位。
17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。
18)分别找出借书人次数多于1人次的单位及人次数。
19)找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。
20)查询经济系是否还清所有图书。
如果已经还清,显示该系所有读者的姓名、所在单位和职称。
实验5 sql语句练习——图书馆数据库答案
![实验5 sql语句练习——图书馆数据库答案](https://img.taocdn.com/s3/m/6ff6c89267ec102de3bd8957.png)
实验5sql语句练习——图书馆数据库实验5 sql语句练习——图书馆数据库实验目的(1)了解SQL Server数据库的逻辑结构与物理结构;(2)了解表的结构特点;(3)了解SQL Server的基本数据类型;(4)了解空值概念;(5)学会在企业管理器中创建数据库与表;(6)学会使用T-SQL语句创建数据库与表。
(7)学会使用T-SQL语句更新数据。
(7)学会使用T-SQL语句创建多种查询。
实验准备首先要明确,能够创建数据库的用户必须就是系统管理员,或就是被授权使用CREATE DA TABASE语句的用户。
其次创建数据库必须要确定数据库名、数据库大小(最初的大小、最大的大小、就是否允许增长及增长方式)与存储数据库的文件。
然后,确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。
此外还要了解两种常用的创建数据库、表的方法,即在企业管理器中创建与使用T-SQL的CREATE DA TABASE语句。
实验内容假设有5本书设有一图书馆数据库,其中包括3个表,即图书表、读者表与借阅表。
三个表的结构如图:图书表结构列名说明数据类型约束说明书号图书唯一的编号定长字符串,长度为10 主键书名图书的名称定长字符串,长度为50 空值作者图书的编著者名定长字符串,长度为30 空值出版社图书的出版社定长字符串,长度为30 空值单价出版社确定的图书的单价浮点型,Float 空值读者表结构假设有10位读者(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、bookPublish from 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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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。