T-SQL语句练习题

2020-06-03 13:02

一、根据要求用T-SQL语句创建数据库和表。 创建数据库“英才大学成绩管理”。

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

学生(学号,姓名,性别,出生年月,籍贯,班级) 其中性别字段只能为“男”或“女” 课程(课程编号,课程名称,学分) 其中课程名称字段为唯一值约束 成绩(学号,课程编号,成绩)

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

CREATE DATABASE 英才大学成绩管理 create table 学生

(学号 char(6) primary key, 姓名 char(6),

性别 char(2) check(性别='男' or 性别='女'), 出生年月 datetime, 籍贯 varchar(50), 班级 char(12), )

create table 课程

(课程编号 char(5) primary key, 课程名称 char(20) unique, 学分 smallint, )

create table 成绩

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

课程编号 char(5) references 课程(课程编号), 成绩 decimal(5,2), primary key(学号,课程编号) )

二、根据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、select max(成绩) as 最高分 from 课程,成绩

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

5、select 籍贯,count(*) as 人数from 学生 where 班级='计ZG091' group by 籍贯 5、

三、对第一题中的表用T-SQL语句完成如下操作。 1、按年龄由大到小显示学生的姓名和班级。

select 姓名,班级from 学生 order by 出生年月 2、查询周悦含同学所有课程的平均分。

select avg(成绩) from 学生,成绩

where 学生.学号=成绩.学号 and 姓名='周悦含' 3、把成绩表中所有不及格的分数都改为40分。

update 成绩 set 成绩=40 where 成绩<60

4、创建一个视图,确切的字段名是:学生姓名,课程名称,分数,其中的记录不包括成绩不及格的学生。

create view v01(学生姓名,课程名称,分数) as

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

where 学生.学号=成绩.学号 and 课程.课程编号=成绩.课程编号 and 学生.学号 not in(select 学号 from 成绩 where 成绩<60)

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

create trigger tr01 on 学生 for update as

if update(班级) begin rollback tran end

一、根据要求用T-SQL语句创建数据库和表。 创建数据库“英才大学学生管理”。

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

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

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

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

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


T-SQL语句练习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:皮肤科试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: