SQL SERVER 试题库.docx

上传人:b****3 文档编号:4802830 上传时间:2022-12-09 格式:DOCX 页数:9 大小:19.23KB
下载 相关 举报
SQL SERVER 试题库.docx_第1页
第1页 / 共9页
SQL SERVER 试题库.docx_第2页
第2页 / 共9页
SQL SERVER 试题库.docx_第3页
第3页 / 共9页
SQL SERVER 试题库.docx_第4页
第4页 / 共9页
SQL SERVER 试题库.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

SQL SERVER 试题库.docx

《SQL SERVER 试题库.docx》由会员分享,可在线阅读,更多相关《SQL SERVER 试题库.docx(9页珍藏版)》请在冰豆网上搜索。

SQL SERVER 试题库.docx

SQLSERVER试题库

《SQLSERVER试题库》

注:

以下操作均以XK(选课)数据库为操作对象。

使用的数据库是XK(选课)数据库,其中包含以下五张数据表:

1、Department(部系)信息表主要包含的列有:

departno(部系编码),departname(部系名称)

2、Class(班级)信息表主要包含的列有:

classno(班级编码),departno(所属部系编码),classname(班级名称)

3、Student(学生)信息表主要包含的列有:

stuno(学号),classno(所属班级编码),stuname(学生姓名),pwd(选课密码)

4、Stucou(学生选课)信息表主要包含的列有:

stuno(学号),couno(课程编码),state(选课状态)

5、Course(选修课程)信息表主要包含的列有:

couno(课程编码)Couname(课程名称)Kind(课程类别)Credit(课程学分)Teacher(任课教师)Departno(部系编码)Schooltime(上课时间)Willnum(报名人数)Limitnum(限制报名人数)注:

其中加下划线的列为对应表中的主键。

1、显示学生表中所有信息

2、从学生表中检索学生所在班的班级编码,要求清除值相同的那些行

3、从学生表中检索所有的信息,要求只显示前6行数据

 

4、检索课程表中课程编号、课程名称、教师、上课时间、限制选课人数、报名人数。

要求检索结果中以汉字显示列名

5、检索课程表中最小报名人数、最大报名人数、平均报名人数

6、检索课程表的教师名、课程号、课程名,要求检索结果首先按教师名降序排列,教师名相同时,则按课程号的升序排列

7、检索课程编码为‘001’‘004’‘013’的课程名称

8、检索开设了“信息技术”类课程的教师名及其所开的课程名,要求先按教师名升序排列,教师名相同时,按课程名的降序排列,并将显示的列名改为中文

9、检索以“制作”两字结尾的课程名(使用LIKE)

usexk

go

select*

fromcourse

wherecounamelike'%制作'

go

10、检索姓名的第二个字为“丽”的学生信息,要求显示学生学号和姓名usexk

go

selectstuno,stuname

fromstudent

wherestunamelike'_丽%'

go

11、检索不姓“刘”的学生信息(使用NOTLIKE)

usexk

go

select*

fromstudent

wherestunamenotlike'刘%'

go

12、检索课程表中教师未定的课程名称和教师名

usexk

go

select'课程名称'=couname,'教师'=teacher

fromcourse

whereteacherisnull

go

13、检索报名人数大于等于30并且小于等于40的课程信息,要求显示课程名称和报名人数

usexk

go

select*

fromcourse

wherewillnum>=30andwillnum<=40

go

14、检索报名人数比限制选课人数多一倍以及一倍以上的课程信息,要求显示课程名称、报名人数和限制选课人数之比,并按该比例的降续排列

usexk

go

select'课程名称'=couname,'报名人数和限制选课人数之比'=willnum/limitnum

fromcourse

wherewillnum/limitnum>2

orderby报名人数和限制选课人数之比desc

go

15、从班级表中检索班级名,从系部表中检索系部名,并将这两个检索结果合并起来

usexk

go

selectclassname

fromclass

union

selectdepartname

fromdepartment

go

16、检索课程表中的课程编码、课程名称、课程分类、报名人数,并计算平均报名人数

usexk

go

selectcounoas'课程编码',counameas'课程名称',kindas'课程分类',willnumas'报名人数'

fromcourse

computeavg(willnum)

go

17、只检索课程分类为“信息技术”的课程信息,并计算平均报名人数

usexk

go

selectcounoas'课程编码',counameas'课程名称',kindas'课程分类',willnumas'报名人数'

fromcourse

wherekind='信息技术'

computeavg(willnum)

go

18、按课程分类检索课程表中的课程编码、课程名称、课程分类、报名人数,并计算每类课程的平均报名人数

usexk

go

selectcounoas'课程编码',counameas'课程名称',kindas'课程分类',willnumas'报名人数'

fromcourse

orderbykind

computeavg(willnum)bykind

go

19、检索课程表的课程名称和教师名,并按着课程分类对课程门数进行统计

usexk

go

selectcounameas'课程名称',teacheras'教师名'

fromcourse

orderbykind

computecount(couname)bykind

go

20、检索平均报名人数大于30人的课程类和每类平均报名人数

usexk

go

selectkindas'课程分类',avg(willnum)as'每类平均报名人数'

fromcourse

whereavg(willnum)>30

groupbykind

go

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

go

set@a=2

print'a='+convert(varchar

(2),@a)

go

declare@bint

set@b=3

print'b='+convert(varchar

(2),@b)

go

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表中添加、修改和删除学生,要个个设置权限,方便吗?

请编写程序解决这个问题

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1