实验二 数据的查询

来源:互联网 发布:雅安数据恢复 编辑:程序博客网 时间:2024/04/28 23:33

 

实验二  数据查询、更新  

一、实验目的

1、掌握用户自定义数据类型的方法

2、掌握用T-SQL语句进行数据的插入、修改、删除的方法

3、熟练掌握SELECT语句,能够运用该语句完成各种查询

二、实验要求

1、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的预习准备工作;

2、能认真独立完成实训内容;

3、实验后做好实验总结,根据实验情况完成总结报告。

三、实验内容

1、用T-SQL语句,创建一用户自定义数据类型:名称为“char20”,数据类型为varchar,长度为20,允许为空。

提示:sp_addtype [@typename=]用户自定义类型的名字

         [, @phystype=]系统类型名

                [, [@nulltype=] ' not null | null ']  [, [@owner=] '拥有该类型的用户名 '] 

例:自定义一个名为address的类型,其所属系统类型为varchar,长度为80,不能为空。

sp_addtype  address,' varchar(80)', ' not null '

2、用T-SQL语句,建立一个“学生课程数据库”,在此基础上建立该数据库包含的学生表,课程表,学生选修表,并向各表插入如下相应的数据。

学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 其中Sno 为主键、Ssex取值为男或女、Sage在15到30之间:

Sno

Sname

Ssex

Sage

Sdept

95001

李敏勇

20

CS

95002

刘晨

19

IS

95003

王敏

18

MA

95004

张立

18

IS

课程表:Course(Cno,Cname,Cpno,Credeit,remarks) 其中Cno为主键、Teacher的类型为char20即为用户定义的数据类型;

Cno

Cname

Cpno

Credit       

Teacher

1

数据库

5

4

王芳

2

数学

NULL

2

刘新

3

信息系统

1

4

刘新

4

操作系统

6

3

高升

5

数据结构

7

4

宋明

6

数据处理

NULL

2

张彬

7

Pascal语言

6

4

李磊

学生选修表:SC(Sno,Cno,Grade) 其中Sno,Cno为主键同时又为外键、Grade值在0到100;

Sno

Cno

Grade

95001

1

92

95001

2

85

95001

3

88

95002

2

90

95003

2

55

95004

2

70

 

3、用T-SQL语句,修改上面所建学生课程数据库中数据:

1) 向学生表:Student中加入一条记录:(95030,谢非,男,22,CS)并保存

2) 将李敏勇的数据库的成绩改为98分

3) 删除学生表Student中谢非的记录并保存

4) 能不能从Student表中删除李敏勇学生的记录,为什么?能不能删除王敏, 张立两个学生的记录?

4、用T-SQL语句,完成下面简单的查询

1)查询全体学生的学号、姓名及年龄.
2)查询全体学生的姓名, 年龄及所在系(要用小写字母表示系名,并用“系名”来表示

列名)。
3)查询选修了课程的学生学号
4)查询信息系全体学生的姓名

5)查询所有年龄在20岁以下的学生姓名及其年龄
6)查询年龄在20到18间的学生的姓名,系别及年龄

7)查询年龄不在23到19间的学生的姓名,系别及年龄 
8)查询不是信息系(IS)和计算机系(CS)学生的姓名和性别
9)查询所有姓刘的学生的姓名,学号和性别

10)查询姓“张”且名为一个汉字的学生的姓名
11)查询名字中第2个字为”敏”字的学生姓名和学号
12)查询所有不姓刘的学生姓名

13)查询全体学生情况,结果按所在系升序排列,同一系中的学生按年龄降序

14)查询学生表中所有学生信息,要求只显示前10%行数据

15)按成绩降序查询输出SC表中成绩大于等于70分的所有学生的学号,要求只显示前2

行数据,若第3行后的数据也等于70分也要显示。

16)查询每个学生的学号、课程号及分数,同时统计每个学生的总分

17)查询每个学生的各科分数、最高分、最低分、总分、平均分

5、用T-SQL语句完成下面的查询

1)查询学生的总人数

2)查询选修了课程的学生人数

3)计算选2号课程的学生平均成绩

4)查询选修2号课程的学生最高分数

5)求各个课程号及相应的选课人数

6)查询选修了2门以上的课程的学生学号

7)查询每个学生及其选修课程的情况

8)查询每一门课的间接先修课(即先修课的先修课

)

9)查询选修2号课程且成绩在90分以上(包括90分)的所有学生。












































0 0
原创粉丝点击