T-SQL语句练习题

上传人:206****923 文档编号:91266734 上传时间:2019-06-27 格式:DOC 页数:14 大小:389.02KB
返回 下载 相关 举报
T-SQL语句练习题_第1页
第1页 / 共14页
T-SQL语句练习题_第2页
第2页 / 共14页
T-SQL语句练习题_第3页
第3页 / 共14页
T-SQL语句练习题_第4页
第4页 / 共14页
T-SQL语句练习题_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《T-SQL语句练习题》由会员分享,可在线阅读,更多相关《T-SQL语句练习题(14页珍藏版)》请在金锄头文库上搜索。

1、一、根据要求用T-SQL语句创建数据库和表。创建数据库“英才大学成绩管理”。分别创建三个表,具体的表名、字段名如下:学生(学号,姓名,性别,出生年月,籍贯,班级) 其中性别字段只能为“男”或“女”课程(课程编号,课程名称,学分) 其中课程名称字段为唯一值约束成绩(学号,课程编号,成绩) 带下划线的字段为主键,表之间的外键关联参考下图,各字段的数据类型应尽量合理。CREATE DATABASE 英才大学成绩管理create table 学生(学号 char(6) primary key, 姓名 char(6), 性别 char(2) check(性别=男 or 性别=女), 出生年月 datet

2、ime, 籍贯 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

3、* from 课程 where 课程编号=304421、 2、select 姓名 from 学生 where 性别=女 and 籍贯=辽宁2、3、select 姓名,课程名称,成绩 from 学生,课程,成绩where 学生.学号=成绩.学号 and 课程.课程编号=成绩.课程编号and 学分=43、 4、select max(成绩) as 最高分 from 课程,成绩where 课程.课程编号=成绩.课程编号 and 课程名称=C语言程序设计4、5、select 籍贯,count(*) as 人数from 学生where 班级=计ZG091 group by 籍贯5、三、对第一题中的表用T-

4、SQL语句完成如下操作。1、按年龄由大到小显示学生的姓名和班级。select 姓名,班级from 学生 order by 出生年月2、查询周悦含同学所有课程的平均分。select avg(成绩) from 学生,成绩where 学生.学号=成绩.学号 and 姓名=周悦含3、把成绩表中所有不及格的分数都改为40分。update 成绩set 成绩=40where 成绩604、创建一个视图,确切的字段名是:学生姓名,课程名称,分数,其中的记录不包括成绩不及格的学生。create view v01(学生姓名,课程名称,分数)asselect 姓名,课程名称,成绩 from 学生,课程,成绩where

5、 学生.学号=成绩.学号 and 课程.课程编号=成绩.课程编号and 学生.学号 not in(select 学号 from 成绩 where 成绩60)5、创建一个触发器,规定学生不能转班级,即不能修改学生表的班级字段的值。create trigger tr01on 学生 for updateasif update(班级)begin rollback tranend一、根据要求用T-SQL语句创建数据库和表。创建数据库“英才大学学生管理”。分别创建三个表,具体的表名、字段名如下:系(系编号,系名称,系主任,班级个数) 其中系名称字段非空班级(班级编号,班级名称,班级人数,班长姓名,专业,系

6、编号) 其中班级名称字段唯一值约束学生(学号, 姓名,性别,出生年月,籍贯,班级编号) 其中性别字段只能为“男”或“女”带下划线的字段为主键,表之间的外键关联参考下图,各字段的数据类型应尽量合理。CREATE DATABASE 英才大学学生管理create table 系(系编号 char(4) primary key, 系名称 char(20) not null, 系主任 char(6), 班级个数 smallint,)create table 班级(班级编号 char(8) primary key, 班级名称 char(12) unique, 班级人数 smallint, 班长姓名 cha

7、r(6), 专业 char(20), 系编号 char(4) references 系(系编号)create table 学生(学号 char(6) primary key, 姓名 char(6), 性别 char(2) check(性别=男 or 性别=女), 出生年月 datetime, 籍贯 varchar(50), 班级编号 char(8) references 班级(班级编号)二、根据T-SQL语句写出执行结果对上题所创建的表添加记录后如图所示,请详细写出下面的SQL语句的执行结果。1、select * from 系where 班级个数 between 14 and 172、sele

8、ct 班长姓名 from 班级where 班级人数26 or 专业=计算机网络技术3、select 姓名,系名称 from 学生,班级,系where 学生.班级编号=班级.班级编号 and 班级.系编号=系.系编号and 籍贯=山东4、select sum(班级个数) as 班级数from 系5、select 籍贯,count(*) as 人数 from 学生,班级where 学生.班级编号=班级.班级编号 and 班级名称=网ZG092 group by 籍贯三、对第一题中的表用T-SQL语句完成如下操作。1、在班级表中查询班级人数最多的班级名称和人数。select 班级名称,班级人数fro

9、m 班级where 班级人数 = (select max(班级人数) from 班级)2、查询姓王的学生的姓名和所在班级。select 姓名,班级名称from 学生,班级where 学生.班级编号 = 班级.班级编号 and 姓名 like王%3、在班级表中删除系部是“管理系”的记录。delete 班级 where 系编号=(select 系编号 from 系 where 系名称=管理系)4、显示比管理系班级人数最少的班级的人数还少的班级名称和专业。select 班级名称,专业from 班级where 班级人数 2begin rollback tranend一、根据要求用T-SQL语句创建数据

10、库和表。创建数据库“英才大学教师管理”。分别创建三个表,具体的表名、字段名如下:系(系编号,系名称,系主任,教研室个数) 其中系名称字段非空教研室(教研室编号,教研室名称,教师人数,系编号) 教师(教师编号,姓名,性别,职称,教研室编号) 其中性别字段只能为“男”或“女”带下划线的字段为主键,表之间的外键关联参考下图,各字段的数据类型应尽量合理。CREATE DATABASE 英才大学教师管理create table 系(系编号 char(4) primary key, 系名称 char(20) not null, 系主任 char(6), 教研室个数 smallint,)create tab

11、le 教研室(教研室编号 char(6) primary key, 教研室名称 char(20), 教师人数 smallint, 系编号 char(4) references 系(系编号)create table 教师(教师编号 char(7) primary key, 姓名 char(6), 性别 char(2) check(性别=男 or 性别=女), 职称 char(10), 教研室编号 char(6) references 教研室(教研室编号)二、根据T-SQL语句写出执行结果对上题所创建的表添加记录后如图所示,请详细写出下面的SQL语句的执行结果。1、select * from 系w

12、here 教研室个数42、select 姓名,职称from 教师where 职称=助教 or 性别=女3、select 姓名 as 教师姓名from 教研室,教师where 教研室.教研室编号=教师.教研室编号and 教研室名称=软件教研室4、select top 2 教研室名称 from 教研室order by 教师人数 desc5、select 职称, count(*)as 人数from 教师group by 职称having 职称 not like %教授三、对第二题中的表用T-SQL语句完成如下操作。1、查询全部男教师的教师编号、姓名和职称。select 教师编号,姓名,职称from

13、教师where 性别=男2、通过教研室表查询信息工程系下的教研室的教师总数。select sum(教师人数)from 教研室where 系编号=(select 系编号 from 系 where 系名称=信息工程系)3、删除教研室数最少的系部。delete from 系where 教研室个数=(select min(教研室个数) from 系)4、创建一个视图,包括教师姓名、性别、职称、教研室四个字段。然后利用该视图查询硬件教研室的教师姓名和职称。create view v01asselect 姓名,性别,职称,教研室名称from 教师,教研室where 教师.教研室编号=教研室.教研室编号select 姓名,职称 from v01where 教研室名称=硬件教研室5、创建一个存储过程,当输入一个系名称时,能显示该系所有的教师姓名。并写出存储过程的执行语句。create proc p01 系编号 char(4)assele

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号