SQL SERVER 试题库Word格式.docx
《SQL SERVER 试题库Word格式.docx》由会员分享,可在线阅读,更多相关《SQL SERVER 试题库Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
4、检索课程表中课程编号、课程名称、教师、上课时间、限制选课人数、报名人数。
要求检索结果中以汉字显示列名
5、检索课程表中最小报名人数、最大报名人数、平均报名人数
6、检索课程表的教师名、课程号、课程名,要求检索结果首先按教师名降序排列,教师名相同时,则按课程号的升序排列
7、检索课程编码为‘001’‘004’‘013’的课程名称
8、检索开设了“信息技术”类课程的教师名及其所开的课程名,要求先按教师名升序排列,教师名相同时,按课程名的降序排列,并将显示的列名改为中文
9、检索以“制作”两字结尾的课程名(使用LIKE)
usexk
go
select*
fromcourse
wherecounamelike'
%制作'
10、检索姓名的第二个字为“丽”的学生信息,要求显示学生学号和姓名usexk
selectstuno,stuname
fromstudent
wherestunamelike'
_丽%'
11、检索不姓“刘”的学生信息(使用NOTLIKE)
usexk
wherestunamenotlike'
刘%'
go
12、检索课程表中教师未定的课程名称和教师名
select'
课程名称'
=couname,'
教师'
=teacher
whereteacherisnull
13、检索报名人数大于等于30并且小于等于40的课程信息,要求显示课程名称和报名人数
wherewillnum>
=30andwillnum<
=40
14、检索报名人数比限制选课人数多一倍以及一倍以上的课程信息,要求显示课程名称、报名人数和限制选课人数之比,并按该比例的降续排列
报名人数和限制选课人数之比'
=willnum/limitnum
wherewillnum/limitnum>
2
orderby报名人数和限制选课人数之比desc
15、从班级表中检索班级名,从系部表中检索系部名,并将这两个检索结果合并起来
selectclassname
fromclass
union
selectdepartname
fromdepartment
16、检索课程表中的课程编码、课程名称、课程分类、报名人数,并计算平均报名人数
selectcounoas'
课程编码'
counameas'
kindas'
课程分类'
willnumas'
报名人数'
computeavg(willnum)
17、只检索课程分类为“信息技术”的课程信息,并计算平均报名人数
wherekind='
信息技术'
18、按课程分类检索课程表中的课程编码、课程名称、课程分类、报名人数,并计算每类课程的平均报名人数
orderbykind
computeavg(willnum)bykind
19、检索课程表的课程名称和教师名,并按着课程分类对课程门数进行统计
selectcounameas'
teacheras'
教师名'
computecount(couname)bykind
20、检索平均报名人数大于30人的课程类和每类平均报名人数
selectkindas'
avg(willnum)as'
每类平均报名人数'
whereavg(willnum)>
30
groupbykind
21、检索报名人数大于平均报名人数的课程编码、课程名称和报名人数
22、检索“01电子商务”班的学生选修课程的情况,要求显示班级名称、学生学号、学生姓名、课程名称和上课时间
23、检索“林斌”同学的选修课信息(课程编号、课程名称、上课时间)
24、检索各班可以选择的不是本系开设的选修课程的信息(课程名称、课程编号、教师、上课时间)
25、检索课程类相同而系部编码不同的课程信息(意味着同一类的课程有多个系部开设),要求显示课程编码、课程名称、课程分类和系部编码
26、检索已经报名选修了课程的学生的学号和姓名
27、查询没有选修’001’课程的学生学号和姓名
28、向department表中插入一条新记录(04,体育系)
29、将course表中报名人数超过20的数据行到newcourse表中
30、将“01数据库”班学号为“01000025”的学生姓名修改为“张三”
31、学号为“00000005”的同学因故取消了课程号为“017”的选修课,在stucou表中删除此行。
32、学号为“00000005”的同学因故取消了“中餐菜肴制作”的选修课,在表中进行删除处理。
33、显示系部编码为“03”的系部名称。
34、检索在“周二晚”上课的课程名称和主讲教师,并对课程数进行统计。
35、“01电子商务”班学生因故集体取消了选修课,请删除相关信息。
36、将“00电子商务”班的姓名为“林斌”的学生选修的“中餐菜肴制作”课程修改为“旅行社经营管理”。
(假设同班不会出现同名的情况,但不排除“林斌”在不同班同名的可能性)
37、编程打印course中有多少种类型的课程。
(要求定义局部变量,进行赋值,然后打印出来)
38、编写程序计算两个整数之和
39、写出下列语句的执行结果。
declare@aint
set@a=2
print'
a='
+convert(varchar
(2),@a)
declare@bint
set@b=3
b='
+convert(varchar
(2),@b)
40、如何用SQL语句编程实现:
求1+2+3+4+…+100=?
41、输出两个数中的较大数。
42、查找姓名为“林斌”的信息,找到返回他的信息,如没找到返回查无此人
43、编程计算1到100之间可以被5整除的数有多少个。
44、求1+2+3+4+…+100=?
45、编写程序,计算n!
(n=10),并将结果显示出来
46、编程输出4个整数中最大的一个。
47、编程输出100-200之间的所有素数。
48、36个人搬36块砖,男搬4,女搬3,两个小孩搬一块,要求一次搬完,编程计算男、女、小孩各多少人。
49、用SQL语句创建数据库mydb,有一个数据文件20MB,一个日志文件10MB
50、创建名为student的数据库,使用三个10MB的数据文件,包含在主文件组primary中,组中第一个文件stu1为主要数据文件,同时有两个10MB的事务日志文件
51、为newdb数据库增加一个次要文件newdb_data2.
52、将数据库sampdb的数据文件大小扩充到3MB
53、将sampdb的日志文件扩充到2M。
54、将sampdb数据库的数据文件压缩为3MB
55、使用SQL语句在StuCou表上创建名为IX_StuNoCouNo的聚集、唯一、复合索引,该索引基于StuNo列和CouNo列创建
56、在Student表上创建基于StuName列,名为IX_StuName的非聚集、非唯一索引
57、在表course字段CouNo上设置主键约束
58、要保证class表中的系代码在表Department中存在,请创建外键
59、为Student表创建基于Pwd列,名为UQ_Student的唯一约束
60、要求student表的字段suno的值只允许8位数字
61、为StuCou表的State字段建立DEFAULT约束,提供“报名”的默认值
62、为stucou创建名为PK_stucou的主键约束,保证不会出现学号和课程号同时相同的记录,然后将这个约束删除。
63、为stucou创建名为FK_stuno的外键约束,该约束限制stuno列的数据只能是student表中的stuno列中存在的数据。
64、为course创建名为UN_teacher的约束,该约束用来约束授课教师只能带一门课程。
65、为course表创建名为CH_credit的约束,该约束用来约束每门课程的学分都是从1到5的。
66、为sucou创建名为DF_state的约束,该约束用来是state列默认为‘报名’
67、创建一个默认UnsureDefault,默认值为’报名’。
然后绑定到表StuCou的列state
68、创建规则CreditRule,内容是限制值在1~5之间。
然后绑定到表Course的列Credit上,使学分限制在1到5之间
69、创建视图v_Student,利用该视图仅查看Student表中班级编码为20000001的班级的学生信息
70、创建视图v_Course,只显示Course表中的CouName列和Credit列
71、创建视图v_Class,只显示Class表中系部编码为01的系部的班级信息
72、创建视图v_StuCouSub,只显示StuCou表中的StuNo列和CouNo列
73、创建视图v_StuCou,显示学生的学号、姓名和所选的课程名称
74、创建视图v_CouByCmpt,显示计算机应用工程系承担的选修课程的信息(课程名称、授课老师、上课时间)
75、创建视图v_CouByDEP,该视图能够显示各系开设课程的门数
76、创建视图v_CouByDep,显示各个系部开设的选修课的数量和报名人数
77、创建视图v_StuSQL,显示’00电子商务’班并选修了‘SQLServer实用技术’的学生信息(学号、姓名)。
并要求加密视图
78、创建一个名为p_Student的存储过程,返回student表中班级编码为20000001的学生信息
79、创建一个名为p_StuByClass的存储过程,返回“00电子商务”班的所有学生的信息
80、创建一个名为p_StudentPara的存储过程,该存储过程根据给定的班级编码显示该班级所有学生的信息
81、创建一个名为p_StuByPara的存储过程,根据给定的班级编码和学生学号,显示相应学生的信息
82、创建存储过程P_ClassNum,要求能根据用户给定的班级代码,统计该班的人数,并将人数通过输出变量返回给用户。
如要查询班级代码为’20000002’的学生人数,如何调用存储过程
83、创建存储过程Cou_credit,要求能根据用户给定的学分值,统计满足该学分值的课程数目,并把它返回给调用程序。
如要统计2个学分的课程门数,该如何调用上述存储过程。
84、创建名为mod_credit的存储过程,能修改用户指定课程号的课程学分值,修改值也由用户指定
85、创建一个触发器Test1,要求每当在Student表中修改数据时,向客户端显示一条“记录已修改!
”的消息
86、创建一个触发器,要求每当在aa表中插入数据时,向客户端显示一条“记录已添加!
”的消息。
87、创建一个触发器,要求每当用户插入aa表的记录时,自动显示表中所有内容
88、创建一个触发器,要求每当用户插入aa表的记录后,自动显示aa表中插入的记录
89、创建一个触发器,要求每当用户删除aa表的记录后,自动显示aa表中删除的记录
90、创建一个触发器SetWillNum,要求当插入、更新、删除StuCou表的选课记录时,能更新Course表中相应的报名人数
91、创建一个触发器Test1,要求每当student表中修改pwd列的数据时,向客户端显示一条消息“密码已更改”的消息
92、创建触发器,当修改student表中的学号字段后,自动修改stucou表中相应的学号
93、在student表上创建触发器del_trg,当删除表中某一个学生的记录时,能自动删除掉该学生的所有选课记录
94、解决赵老师能查询本班学生的选课信息
95、解决赵老师能了解本班某课程的选课情况
96、假如学校新增3个班主任,他们都要在student表中添加、修改和删除学生,要个个设置权限,方便吗?
请编写程序解决这个问题