




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、题目11、学校图书馆借书信息管理系统建立三个表:学生信息表:student字段名称数据类型说明stuIDchar(10学生编号,主键stuNameVarchar(10学生名称majorVarchar(50专业图书表:book字段名称数据类型说明BIDchar(10图书编号,主键titlechar(50书名authorchar(20作者借书信息表:borrow字段名称数据类型说明borrowIDchar(10借书编号,主键stuIDchar(10学生编号,外键BIDchar(10图书编号,外键T_timedatetime借书日期B_timedatetime还书日期请编写SQL语句完成以下的功能:
2、1 查询“计算机”专业学生在“2007-12-15”至“2008-1-8”时间段内借书的学生编号、学生名称、图书编号、图书名称、借出日期;参考查询结果如下图所示:2 查询所有借过图书的学生编号、学生名称、专业;参考查询结果如下图所示:3 查询借过作者为“安意如”的图书的学生姓名、图书名称、借出日期、归还日期;参考查询结果如下图所示:4 查询目前借书但未归还图书的学生名称及未还图书数量;参考查询结果如下图所示:附加:建表语句:USE masterGO/*$建库$*/-检验数据库是否存在,如果为真,删除此数据库-IF exists(SELECT * FROM sysdatabases WHERE
3、name='BOOK'DROP DATABASE BOOKGOCREATE DATABASE BOOKGO-建数据表-USE BOOKGOCREATE TABLE student -学生信息表(stuID CHAR(10 primary key, -学生编号stuName CHAR(10 NOT NULL , -学生名称major CHAR(50 NOT NULL -专业GOCREATE TABLE book -图书表(BID CHAR(10 primary key, -图书编号title CHAR(50 NOT NULL, -书名author CHAR(20 NOT NULL
4、, -作者GOCREATE TABLE borrow -借书表(borrowID CHAR(10 primary key, -借书编号stuID CHAR(10 foreign key(stuID references student(stuID, -学生编号BID CHAR(10 foreign key(BID references book(BID,-图书编号T_time datetime NOT NULL, -借出日期B_time datetime -归还日期GO-学生信息表中插入数据-INSERT INTO student(stuID,stuName,majorVALUES('
5、1001','林林','计算机'INSERT INTO student(stuID,stuName,majorVALUES('1002','白杨','计算机'INSERT INTO student(stuID,stuName,majorVALUES('1003','虎子','英语'INSERT INTO student(stuID,stuName,majorVALUES('1004','北漂的雪','工商管理'I
6、NSERT INTO student(stuID,stuName,majorVALUES('1005','五月','数学'-图书信息表中插入数据-INSERT INTO book(BID,title,authorVALUES('B001','人生若只如初见','安意如'INSERT INTO book(BID,title,authorVALUES('B002','入学那天遇见你','晴空'INSERT INTO book(BID,title,autho
7、rVALUES('B003','感谢折磨你的人','如娜'INSERT INTO book(BID,title,authorVALUES('B004','我不是教你诈','刘庸'INSERT INTO book(BID,title,authorVALUES('B005','英语四级','白雪'-借书信息表中插入数据-INSERT INTO borrow(borrowID,stuID,BID,T_time,B_timeVALUES('T001
8、39;,'1001','B001','2007-12-26',nullINSERT INTO borrow(borrowID,stuID,BID,T_time,B_timeVALUES('T002','1004','B003','2008-1-5',nullINSERT INTO borrow(borrowID,stuID,BID,T_time,B_timeVALUES('T003','1005','B001','2007-10
9、-8','2007-12-25'INSERT INTO borrow(borrowID,stuID,BID,T_time,B_timeVALUES('T004','1005','B002','2007-12-16','2008-1-7'INSERT INTO borrow(borrowID,stuID,BID,T_time,B_timeVALUES('T005','1002','B004','2007-12-22',nullIN
10、SERT INTO borrow(borrowID,stuID,BID,T_time,B_timeVALUES('T006','1005','B005','2008-1-6',nullINSERT INTO borrow(borrowID,stuID,BID,T_time,B_timeVALUES('T007','1002','B001','2007-9-11',nullINSERT INTO borrow(borrowID,stuID,BID,T_time,B_ti
11、meVALUES('T008','1005','B004','2007-12-10',nullINSERT INTO borrow(borrowID,stuID,BID,T_time,B_timeVALUES('T009','1004','B005','2007-10-16','2007-12-18'INSERT INTO borrow(borrowID,stuID,BID,T_time,B_timeVALUES('T010','
12、;1002','B002','2007-9-15','2008-1-5'INSERT INTO borrow(borrowID,stuID,BID,T_time,B_timeVALUES('T011','1004','B003','2007-12-28',nullINSERT INTO borrow(borrowID,stuID,BID,T_time,B_timeVALUES('T012','1002','B003','
13、2007-12-30',null标准答案:- 1查询“计算机”专业学生在“2007-12-15”至“2008-1-8”时间段内借书的学生编号、学生名称、图书编号、图书名称、借出日期select stu.stuId '學生學號',stu.stuName '學生名稱',BOOK.BID'圖書編號',BOOK.TITLE'書名',borrow.B_time'借出日期' from stu,BOOK,borrowwhere stu.stuId=borrow.stuId and book.BID=borrow.BID
14、andstu.major='computer' and borrow.T_time between '2013-7-23' and'2013-10-20'select 学生编号=stuID,学生名称=(select stuName from student where stuID=borrow.stuID,图书编号=BID,图书名称=(select title from book where BID=borrow.BID,借出日期=T_time from borrow where stuID in (select stuID from stude
15、nt where major='计算机' and T_time>'2007-12-15' and T_time<'2008-1-8'- 2查询所有借过图书的学生编号、学生名称、专业-select 学生编号=stuID,学生名称=stuName,专业=major from student where stuID in (select stuID from borrowselect stu.stuId'學生標號',stu.stuName'學生名稱',stu.major'專業'from stu
16、,borrowwhere stu.stuId=borrow.stuId - 3查询借过作者为“安意如”的图书的学生姓名、图书名称、借出日期-select 学生名称=(select stuName from student where stuID=borrow.stuID,图书名称=(select title from book where BID=borrow.BID,借出日期=T_time,归还日期=B_time from borrow where BID in (select BID from book where author='安意如'- 4查询目前借书但未归还图书的学
17、生名称及未还图书数量-select 学生名称=(select stuName from student where stuID=borrow.stuID,借书数量=count(* from borrow where B_time is null group by stuID 薪水题目2程序员工资表:ProWage字段名称数据类型说明IDint自动编号,主键PNameChar(10程序员姓名Wageint工资创建一个存储过程,对程序员的工资进行分析,月薪1500到10000不等,如果有百分之五十的人薪水不到2000元,给所有人加薪,每次加100,再进行分析,直到有一半以上的人大于2000元为止,
18、存储过程执行完后,最终加了多少钱? 例如:如果有百分之五十的人薪水不到2000,给所有人加薪,每次加100元,直到有一半以上的人工资大于2000元,调用存储过程后的结果如图:请编写T-SQL来实现如下功能:1 创建存储过程,查询是否有一半程序员的工资在2200、3000、3500、4000、5000或6000元之上,如果不到分别每次给每个程序员加薪100元,至之一半程序员的工资达到2200,3000,3500,4000,5000或6000元。2 创建存储过程,查询程序员平均工资在4500元,如果不到则每个程序员每次加200元,至到所有程序员平均工资达到4500元。建表语句USE masterG
19、O/*$建库$*/-检验数据库是否存在,如果为真,删除此数据库-IF exists(SELECT * FROM sysdatabases WHERE name='Wage'DROP DATABASE WageGOCREATE DATABASE WageGO-建数据表-USE WageGOCREATE TABLE ProWage -程序员工资表(ID int identity(1,1 primary key, -工资编号PName CHAR(10 NOT NULL , -程序员姓名Wage int NOT NULL -工资GO-插入数据-INSERT INTO ProWage(P
20、Name,WageVALUES('青鸟',1900INSERT INTO ProWage(PName,WageVALUES('张三',1200INSERT INTO ProWage(PName,WageVALUES('李四',1800INSERT INTO ProWage(PName,WageVALUES('二月',3500INSERT INTO ProWage(PName,WageVALUES('蓝天',2780标准答案: -1、创建存储过程-if exists (select * from sysobjects
21、 where name='Sum_wage'drop procedure Sum_wageGOcreate procedure Sum_wage PWage int,AWage int,total intas while (1=1beginif (select count(* from ProWage>2*(select count(* from ProWage where Wage>=PWageupdate ProWage set total=total+AWage,Wage=Wage+AWageelsebreakendprint'一共加薪:'+c
22、onvert(varchar,total+'元'print'加薪后的程序员工资列表:'select * from ProWage-调用存储过程1-exec Sum_wage PWage=2000,AWage=100,total=0exec Sum_wage PWage=2200,AWage=100,total=0exec Sum_wage PWage=3000,AWage=100,total=0exec Sum_wage PWage=4000,AWage=100,total=0exec Sum_wage PWage=5000,AWage=100,total=0e
23、xec Sum_wage PWage=6000,AWage=100,total=0-2、创建存储过程2-if exists (select * from sysobjects where name='Avg_wage'drop procedure Avg_wageGOcreate procedure Avg_wage PWage int,AWage int,total intas while (1=1beginif (select Avg(Wage from ProWage<=PWageupdate ProWage set total=total+AWage,Wage=W
24、age+AWageelsebreakendprint'一共加薪:'+convert(varchar,total+'元'print'加薪后的程序员工资列表:'select * from ProWage-调用存储过程-exec Avg_wage PWage=3000,AWage=200,total=0exec Avg_wage PWage=4500,AWage=200,total=0题目3:学生成绩信息三个表,结构如下: 学生表:Member字段名称数据类型说明MIDChar(10学生号,主键MNameChar(50姓名课程表:字段名称数据类型说明F
25、IDChar(10课程,主键FNameChar(50课程名成绩表:Score字段名称数据类型说明SIDint自动编号,主键,成绩记录号FIDChar(10课程号,外键MIDChar(10学生号,外键Scoreint成绩请编写T-SQL语句来实现如下功能:1 查询各个学生语文、数学、英语、历史课程成绩,例如下表:姓名语文数学英语历史张萨78 678976王强 89 67 84 96李三70 87 92 56李四 8078 97662 查询四门课中成绩低于70分的学生及相对应课程名和成绩。3 统计各个学生参加考试课程的平均分,且按平均分数由高到底排序。4 创建存储过程,分别查询参加1、2、3、4门
26、考试及没有参加考试的学生名单,要求显示姓名、学号。建表语句:USE masterGO/*$建库$*/-检验数据库是否存在,如果为真,删除此数据库-IF exists(SELECT * FROM sysdatabases WHERE name='Student'DROP DATABASE StudentGOCREATE DATABASE StudentGO-建数据表-USE StudentGOCREATE TABLE Member -学生表(MID char(10 primary key, -学生号MName CHAR(50 NOT NULL -姓名GOCREATE TABLE
27、F -课程表(FID char(10 primary key, -课程号FName CHAR(50 NOT NULL -课程名GOCREATE TABLE score -学生成绩表(SID int identity(1,1 primary key, -成绩记录号FID char(10 foreign key(FID references F(FID , -课程号MID char(10 foreign key(MID references Member(MID , -学生号Score int NOT NULL -成绩GO-课程表中插入数据-INSERT INTO F(FID,FNameVALUE
28、S('F001','语文'INSERT INTO F(FID,FNameVALUES('F002','数学'INSERT INTO F(FID,FNameVALUES('F003','英语'INSERT INTO F(FID,FNameVALUES('F004','历史'-学生表中插入数据-INSERT INTO Member(MID,MNameVALUES('M001','张萨'INSERT INTO Member(MID,MName
29、VALUES('M002','王强'INSERT INTO Member(MID,MNameVALUES('M003','李三'INSERT INTO Member(MID,MNameVALUES('M004','李四'INSERT INTO Member(MID,MNameVALUES('M005','阳阳'INSERT INTO Member(MID,MNameVALUES('M006','虎子'INSERT INTO Member
30、(MID,MNameVALUES('M007','夏雪'INSERT INTO Member(MID,MNameVALUES('M008','璐璐'INSERT INTO Member(MID,MNameVALUES('M009','珊珊'INSERT INTO Member(MID,MNameVALUES('M010','香奈儿'-成绩表中插入数据-INSERT INTO Score(FID,MID,ScoreVALUES('F001','M
31、001',78INSERT INTO Score(FID,MID,ScoreVALUES('F002','M001',67INSERT INTO Score(FID,MID,ScoreVALUES('F003','M001',89INSERT INTO Score(FID,MID,ScoreVALUES('F004','M001',76INSERT INTO Score(FID,MID,ScoreVALUES('F001','M002',89INSERT IN
32、TO Score(FID,MID,ScoreVALUES('F002','M002',67INSERT INTO Score(FID,MID,ScoreVALUES('F003','M002',84INSERT INTO Score(FID,MID,ScoreVALUES('F004','M002',96INSERT INTO Score(FID,MID,ScoreVALUES('F001','M003',70INSERT INTO Score(FID,MID,Sco
33、reVALUES('F002','M003',87INSERT INTO Score(FID,MID,ScoreVALUES('F003','M003',92INSERT INTO Score(FID,MID,ScoreVALUES('F004','M003',56INSERT INTO Score(FID,MID,ScoreVALUES('F001','M004',80INSERT INTO Score(FID,MID,ScoreVALUES('F002
34、39;,'M004',78INSERT INTO Score(FID,MID,ScoreVALUES('F003','M004',97INSERT INTO Score(FID,MID,ScoreVALUES('F004','M004',66INSERT INTO Score(FID,MID,ScoreVALUES('F001','M006',88INSERT INTO Score(FID,MID,ScoreVALUES('F002','M006',5
35、5INSERT INTO Score(FID,MID,ScoreVALUES('F003','M006',86INSERT INTO Score(FID,MID,ScoreVALUES('F004','M006',79INSERT INTO Score(FID,MID,ScoreVALUES('F002','M007',77INSERT INTO Score(FID,MID,ScoreVALUES('F003','M008',65INSERT INTO Score(FID,MID,ScoreVALUES('F004','M007
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60155:1993/AMD2:2006 FR-D Amendment 2 - Glow-starters for fluorescent lamps
- 来自大自然启示的故事寓言性质作文8篇范文
- 楼盘销售数据对比表
- 现代管理学理论与应用测试题
- 食品营养学与实践能力测试卷详解
- 疫情期间考试试题及答案
- 宜宾燃气考试试题及答案
- 仪器分析考试试题及答案
- 六一儿童摄影活动方案
- 六一古装活动方案
- 2025天猫服饰春夏趋势白皮书
- 2024年冬季N0M世界青少年数学思维研学活动模拟题
- 2024NEA水性气硅涂膏隔热保温墙体构造
- DB61T1536-2022工业锅炉运行管理规范
- SH/T 3046-2024 石油化工立式圆筒形钢制焊接储罐设计规范(正式版)
- JT∕T 795-2023 事故汽车修复技术规范
- 预防接种门诊验收表4-副本
- 外国文学之旅智慧树知到期末考试答案章节答案2024年山东师范大学
- 驾驶档案注销委托书
- 焊接规范的基本要求
- 广东省广州市2024届七年级生物第二学期期末教学质量检测模拟试题含解析
评论
0/150
提交评论