1、女), 出生年月 datetime, 籍贯 varchar(50), 班级 char(12),)三、对第一题中的表用T-SQL语句完成如下操作。1、按年龄由大到小显示学生的姓名和班级。select 姓名,班级from 学生 order by 出生年月2、查询周悦含同学所有课程的平均分。select avg(成绩) from 学生,成绩where 学生.学号=成绩.学号 and 姓名=周悦含3、把成绩表中所有不及格的分数都改为40分。update 成绩set 成绩=40where 成绩604、创建一个视图,确切的字段名是:学生姓名,课程名称,分数,其中的记录不包括成绩不及格的学生。create
2、view v01(学生姓名,课程名称,分数)asselect 姓名,课程名称,成绩 from 学生,课程,成绩where 学生.学号=成绩.学号 and 课程.课程编号=成绩.课程编号and 学生.学号 not in(select 学号 from 成绩 where 成绩60)5、创建一个触发器,规定学生不能转班级,即不能修改学生表的班级字段的值。create trigger tr01on 学生 for updateif update(班级)begin rollback tranend创建数据库“英才大学学生管理”。系(系编号,系名称,系主任,班级个数) 其中系名称字段非空班级(班级编号,班级名
3、称,班级人数,班长姓名,专业,系编号) 其中班级名称字段唯一值约束学生(学号, 姓名,性别,出生年月,籍贯,班级编号) 其中性别字段只能为“男”或“女”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, 班长姓名 char(6), 专业 char(20), 系编号
4、char(4) references 系(系编号)(学号 char(6) primary key, 班级编号 char(8) references 班级(班级编号)二、根据T-SQL语句写出执行结果对上题所创建的表添加记录后如图所示,请详细写出下面的SQL语句的执行结果。1、select * from 系where 班级个数 between 14 and 172、select 班长姓名 from 班级where 班级人数26 or 专业=计算机网络技术3、select 姓名,系名称 from 学生,班级,系where 学生.班级编号=班级.班级编号 and 班级.系编号=系.系编号and 籍贯
5、=山东4、select sum(班级个数) as 班级数from 系5、select 籍贯,count(*) as 人数 from 学生,班级where 学生.班级编号=班级.班级编号 and 班级名称=网ZG092 group by 籍贯1、在班级表中查询班级人数最多的班级名称和人数。select 班级名称,班级人数from 班级where 班级人数 = (select max(班级人数) from 班级)2、查询姓王的学生的姓名和所在班级。select 姓名,班级名称from 学生,班级where 学生.班级编号 = 班级.班级编号 and 姓名 like王%3、在班级表中删除系部是“管理
6、系”的记录。delete 班级 where 系编号=(select 系编号 from 系 where 系名称=管理系4、显示比管理系班级人数最少的班级的人数还少的班级名称和专业。select 班级名称,专业where 班级人数 2 rollback tran创建数据库“英才大学教师管理”。系(系编号,系名称,系主任,教研室个数) 其中系名称字段非空教研室(教研室编号,教研室名称,教师人数,系编号) 教师(教师编号,姓名,性别,职称,教研室编号) 其中性别字段只能为“男”或“女”CREATE DATABASE 英才大学教师管理(系编号 char(4) primary key, 系名称 char(
7、20) not null, 教研室个数 smallint,create table 教研室(教研室编号 char(6) primary key, 教研室名称 char(20), 教师人数 smallint, 系编号 char(4) references 系(系编号)create table 教师(教师编号 char(7) primary key, 职称 char(10), 教研室编号 char(6) references 教研室(教研室编号)1、select * from 系where 教研室个数42、select 姓名,职称from 教师where 职称=助教3、select 姓名 as 教
8、师姓名from 教研室,教师where 教研室.教研室编号=教师.教研室编号and 教研室名称=软件教研室4、select top 2 教研室名称 from 教研室order by 教师人数 desc5、select 职称, count(*)as 人数group by 职称having 职称 not like %教授三、对第二题中的表用T-SQL语句完成如下操作。1、查询全部男教师的教师编号、姓名和职称。select 教师编号,姓名,职称where 性别=2、通过教研室表查询信息工程系下的教研室的教师总数。select sum(教师人数)from 教研室where 系编号=(select 系编
9、号 from 系 where 系名称=信息工程系3、删除教研室数最少的系部。delete from 系where 教研室个数=(select min(教研室个数) from 系)4、创建一个视图,包括教师姓名、性别、职称、教研室四个字段。然后利用该视图查询硬件教研室的教师姓名和职称。create view v01select 姓名,性别,职称,教研室名称from 教师,教研室where 教师.教研室编号=教研室.教研室编号select 姓名,职称 from v01where 教研室名称=硬件教研室5、创建一个存储过程,当输入一个系名称时,能显示该系所有的教师姓名。并写出存储过程的执行语句。create proc p01 系编号 char(4)select 姓名and 系编号= 系编号exec p01 1103
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1