TSQL语句练习题.docx

上传人:b****3 文档编号:5546808 上传时间:2023-05-08 格式:DOCX 页数:14 大小:477.92KB
下载 相关 举报
TSQL语句练习题.docx_第1页
第1页 / 共14页
TSQL语句练习题.docx_第2页
第2页 / 共14页
TSQL语句练习题.docx_第3页
第3页 / 共14页
TSQL语句练习题.docx_第4页
第4页 / 共14页
TSQL语句练习题.docx_第5页
第5页 / 共14页
TSQL语句练习题.docx_第6页
第6页 / 共14页
TSQL语句练习题.docx_第7页
第7页 / 共14页
TSQL语句练习题.docx_第8页
第8页 / 共14页
TSQL语句练习题.docx_第9页
第9页 / 共14页
TSQL语句练习题.docx_第10页
第10页 / 共14页
TSQL语句练习题.docx_第11页
第11页 / 共14页
TSQL语句练习题.docx_第12页
第12页 / 共14页
TSQL语句练习题.docx_第13页
第13页 / 共14页
TSQL语句练习题.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

TSQL语句练习题.docx

《TSQL语句练习题.docx》由会员分享,可在线阅读,更多相关《TSQL语句练习题.docx(14页珍藏版)》请在冰点文库上搜索。

TSQL语句练习题.docx

TSQL语句练习题

一、根据要求用T-SQL语句创建数据库和表。

创建数据库“英才大学成绩管理”。

分别创建三个表,具体的表名、字段名如下:

学生(学号,姓名,性别,出生年月,籍贯,班级)其中性别字段只能为“男”或“女”

课程(课程编号,课程名称,学分)其中课程名称字段为唯一值约束

成绩(学号,课程编号,成绩)

带下划线的字段为主键,表之间的外键关联参考下图,各字段的数据类型应尽量合理。

 

CREATEDATABASE英才大学成绩管理

createtable学生

(学号char(6)primarykey,

姓名char(6),

性别char

(2)check(性别='男'or性别='女'),

出生年月datetime,

籍贯varchar(50),

班级char(12),

createtable课程

(课程编号char(5)primarykey,

课程名称char(20)unique,

学分smallint,

createtable成绩

(学号char(6)references学生(学号),

课程编号char(5)references课程(课程编号),

成绩decimal(5,2),

primarykey(学号,课程编号)

二、根据T-SQL语句写出执行结果(20分,每题4分)

对上题所创建的表添加记录后如图所示,详细写出下面的SQL语句的执行结果。

 

 

1、select*from课程where课程编号='30442'

 

1、

2、select姓名from学生

where性别='女'and籍贯='辽宁'

2、

3、select姓名,课程名称,成绩from学生,课程,成绩

where学生.学号=成绩.学号and课程.课程编号=成绩.课程编号

and学分='4'

 

3、

 

4、selectmax(成绩)as最高分from课程,成绩

where课程.课程编号=成绩.课程编号and课程名称='C语言程序设计'

 

4、

5、select籍贯,count(*)as人数from学生

where班级='计ZG091'groupby籍贯

 

5、

三、对第一题中的表用T-SQL语句完成如下操作。

1、按年龄由大到小显示学生的姓名和班级。

select姓名,班级from学生orderby出生年月

2、查询周悦含同学所有课程的平均分。

 

selectavg(成绩)from学生,成绩

where学生.学号=成绩.学号and姓名='周悦含'

3、把成绩表中所有不及格的分数都改为40分。

 

update成绩

set成绩=40

where成绩<60

4、创建一个视图,确切的字段名是:

学生姓名,课程名称,分数,其中的记录不包括成绩不及格的学生。

 

createviewv01(学生姓名,课程名称,分数)

as

select姓名,课程名称,成绩from学生,课程,成绩

where学生.学号=成绩.学号and课程.课程编号=成绩.课程编号

and学生.学号notin(select学号from成绩where成绩<60)

5、创建一个触发器,规定学生不能转班级,即不能修改学生表的班级字段的值。

createtriggertr01

on学生forupdate

as

ifupdate(班级)

begin

rollbacktran

end

一、根据要求用T-SQL语句创建数据库和表。

创建数据库“英才大学学生管理”。

分别创建三个表,具体的表名、字段名如下:

系(系编号,系名称,系主任,班级个数)其中系名称字段非空

班级(班级编号,班级名称,班级人数,班长姓名,专业,系编号)其中班级名称字段唯一值约束

学生(学号,姓名,性别,出生年月,籍贯,班级编号)其中性别字段只能为“男”或“女”

带下划线的字段为主键,表之间的外键关联参考下图,各字段的数据类型应尽量合理。

 

CREATEDATABASE英才大学学生管理

createtable系

(系编号char(4)primarykey,

系名称char(20)notnull,

系主任char(6),

班级个数smallint,

createtable班级

(班级编号char(8)primarykey,

班级名称char(12)unique,

班级人数smallint,

班长姓名char(6),

专业char(20),

系编号char(4)references系(系编号)

createtable学生

(学号char(6)primarykey,

姓名char(6),

性别char

(2)check(性别='男'or性别='女'),

出生年月datetime,

籍贯varchar(50),

班级编号char(8)references班级(班级编号)

二、根据T-SQL语句写出执行结果

对上题所创建的表添加记录后如图所示,请详细写出下面的SQL语句的执行结果。

 

 

1、select*from系

where班级个数between14and17

 

2、select班长姓名from班级

where班级人数<26or专业='计算机网络技术'

 

3、select姓名,系名称from学生,班级,系

where学生.班级编号=班级.班级编号and班级.系编号=系.系编号

and籍贯='山东'

 

4、selectsum(班级个数)as班级数

from系

 

5、select籍贯,count(*)as人数from学生,班级

where学生.班级编号=班级.班级编号and班级名称='网ZG092'

groupby籍贯

 

 

三、对第一题中的表用T-SQL语句完成如下操作。

1、在班级表中查询班级人数最多的班级名称和人数。

 

select班级名称,班级人数

from班级

where班级人数=(selectmax(班级人数)from班级)

2、查询姓王的学生的姓名和所在班级。

 

select姓名,班级名称

from学生,班级

where学生.班级编号=班级.班级编号and姓名like'王%'

3、在班级表中删除系部是“管理系”的记录。

 

delete班级where系编号=(select系编号from系where系名称='管理系')

4、显示比管理系班级人数最少的班级的人数还少的班级名称和专业。

 

select班级名称,专业

from班级

where班级人数

where班级.系编号=系.系编号and系名称='管理系')

5、为系表创建一个触发器,实现一次最多只能删除2条记录。

createtriggertr01

on系fordelete

as

if(selectcount(*)fromdeleted)>2

begin

rollbacktran

end

一、根据要求用T-SQL语句创建数据库和表。

创建数据库“英才大学教师管理”。

分别创建三个表,具体的表名、字段名如下:

系(系编号,系名称,系主任,教研室个数)其中系名称字段非空

教研室(教研室编号,教研室名称,教师人数,系编号)

教师(教师编号,姓名,性别,职称,教研室编号)其中性别字段只能为“男”或“女”

带下划线的字段为主键,表之间的外键关联参考下图,各字段的数据类型应尽量合理。

 

CREATEDATABASE英才大学教师管理

createtable系

(系编号char(4)primarykey,

系名称char(20)notnull,

系主任char(6),

教研室个数smallint,

createtable教研室

(教研室编号char(6)primarykey,

教研室名称char(20),

教师人数smallint,

系编号char(4)references系(系编号)

createtable教师

(教师编号char(7)primarykey,

姓名char(6),

性别char

(2)check(性别='男'or性别='女'),

职称char(10),

教研室编号char(6)references教研室(教研室编号)

二、根据T-SQL语句写出执行结果

对上题所创建的表添加记录后如图所示,请详细写出下面的SQL语句的执行结果。

 

1、select*from系

where教研室个数<4

 

2、select姓名,职称

from教师

where职称='助教'or性别='女'

 

3、select姓名as教师姓名

from教研室,教师

where教研室.教研室编号=教师.教研室编号

and教研室名称='软件教研室'

 

4、selecttop2教研室名称from教研室

orderby教师人数desc

 

 

5、select职称,count(*)as人数

from教师

groupby职称

having职称notlike'%教授'

 

三、对第二题中的表用T-SQL语句完成如下操作。

1、查询全部男教师的教师编号、姓名和职称。

 

select教师编号,姓名,职称

from教师

where性别='男'

2、通过教研室表查询信息工程系下的教研室的教师总数。

 

selectsum(教师人数)

from教研室

where系编号=(select系编号from系where系名称='信息工程系')

3、删除教研室数最少的系部。

 

deletefrom系

where教研室个数=(selectmin(教研室个数)from系)

 

4、创建一个视图,包括教师姓名、性别、职称、教研室四个字段。

然后利用该视图查询硬件教研室的教师姓名和职称。

 

createviewv01

as

select姓名,性别,职称,教研室名称

from教师,教研室

where教师.教研室编号=教研室.教研室编号

select姓名,职称fromv01

where教研室名称='硬件教研室'

5、创建一个存储过程,当输入一个系名称时,能显示该系所有的教师姓名。

并写出存储过程的执行语句。

 

createprocp01@系编号char(4)

as

select姓名

from教师,教研室

where教师.教研室编号=教研室.教研室编号

and系编号=@系编号

execp01'1103'

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2