T-SQL语句练题.doc

上传人:夺命阿水 文档编号:21564 上传时间:2022-07-12 格式:DOC 页数:9 大小:105.50KB
返回 下载 相关 举报
T-SQL语句练题.doc_第1页
第1页 / 共9页
T-SQL语句练题.doc_第2页
第2页 / 共9页
T-SQL语句练题.doc_第3页
第3页 / 共9页
T-SQL语句练题.doc_第4页
第4页 / 共9页
T-SQL语句练题.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《T-SQL语句练题.doc》由会员分享,可在线阅读,更多相关《T-SQL语句练题.doc(9页珍藏版)》请在课桌文档上搜索。

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

2、e, 学分 smallint,create table 成绩学号 char references 学生, 课程编号 char references 课程, 成绩 decimal, primary key二、根据T-SQL语句写出执行结果20分,每题4分对上题所创建的表添加记录后如图所示,详细写出下面的SQL语句的执行结果.1、select * from 课程 where 课程编号=304421、 2、select # from 学生where 性别=女 and 籍贯=#2、3、select #,课程名称,成绩 from 学生,课程,成绩where 学生.学号=成绩.学号 and 课程.课程编号

3、=成绩.课程编号and 学分=43、 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、把成绩表中所有不与格

4、的分数都改为40分.update 成绩set 成绩=40where 成绩604、创建一个视图,确切的字段名是:学生#,课程名称,分数,其中的记录不包括成绩不与格的学生.create view v01asselect #,课程名称,成绩 from 学生,课程,成绩where 学生.学号=成绩.学号 and 课程.课程编号=成绩.课程编号and 学生.学号 not inselect 学号 from 成绩 where 成绩5、创建一个触发器,规定学生不能转班级,即不能修改学生表的班级字段的值.create trigger tr01on 学生 for updateasif updatebegin ro

5、llback tranend一、根据要求用T-SQL语句创建数据库和表.创建数据库英才大学学生管理.分别创建三个表,具体的表名、字段名如下:系 其中系名称字段非空班级 其中班级名称字段唯一值约束学生 其中性别字段只能为男或女带下划线的字段为主键,表之间的外键关联参考下图,各字段的数据类型应尽量合理.CREATE DATABASE 英才大学学生管理create table 系系编号 char primary key, 系名称 char not null, 系主任 char, 班级个数 smallint,create table 班级班级编号 char primary key, 班级名称 char

6、 unique, 班级人数 smallint, 班长# char, 专业 char, 系编号 char references 系create table 学生学号 char primary key, # char, 性别 char check, 出生年月 datetime, 籍贯 varchar, 班级编号 char references 班级二、根据T-SQL语句写出执行结果对上题所创建的表添加记录后如图所示,请详细写出下面的SQL语句的执行结果.1、select * from 系where 班级个数 between 14 and 172、select 班长# from 班级where 班级

7、人数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 班级名称,班级人数from 班级where 班级人数 = select max from 班

8、级2、查询姓王的学生的#和所在班级.select #,班级名称from 学生,班级where 学生.班级编号 = 班级.班级编号 and # like王%3、在班级表中删除系部是管理系的记录.delete 班级 where 系编号=4、显示比管理系班级人数最少的班级的人数还少的班级名称和专业.select 班级名称,专业from 班级where 班级人数 all5、为系表创建一个触发器,实现一次最多只能删除2条记录.create trigger tr01on 系 for deleteasif select count from deleted 2beginrollback tranend一、根

9、据要求用T-SQL语句创建数据库和表.创建数据库英才大学教师管理.分别创建三个表,具体的表名、字段名如下:系其中系名称字段非空教研室 教师 其中性别字段只能为男或女带下划线的字段为主键,表之间的外键关联参考下图,各字段的数据类型应尽量合理.CREATE DATABASE 英才大学教师管理create table 系系编号 char primary key, 系名称 char not null, 系主任 char, 教研室个数 smallint,create table 教研室教研室编号 char primary key, 教研室名称 char, 教师人数 smallint, 系编号 char

10、references 系create table 教师教师编号 char primary key, # char, 性别 char check, 职称 char, 教研室编号 char references 教研室二、根据T-SQL语句写出执行结果对上题所创建的表添加记录后如图所示,请详细写出下面的SQL语句的执行结果.1、select * from 系where 教研室个数42、select #,职称from 教师where 职称=助教 or 性别=女3、select # as 教师#from 教研室,教师where 教研室.教研室编号=教师.教研室编号and 教研室名称=软件教研室4、se

11、lect top 2 教研室名称 from 教研室order by 教师人数 desc5、select 职称, countas 人数from 教师group by 职称having 职称 not like %教授三、对第二题中的表用T-SQL语句完成如下操作.1、查询全部男教师的教师编号、#和职称.select 教师编号,#,职称from 教师where 性别=男2、通过教研室表查询信息工程系下的教研室的教师总数.select sumfrom 教研室where 系编号=3、删除教研室数最少的系部.delete from 系where 教研室个数=select min from 系4、创建一个视图,包括教师#、性别、职称、教研室四个字段.然后利用该视图查询硬件教研室的教师#和职称.create view v01asselect #,性别,职称,教研室名称from 教师,教研室where 教师.教研室编号=教研室.教研室编号select #,职称 from v01where 教研室名称=硬件教研室5、创建一个存储过程,当输入一个系名称时,能显示该系所有的教师#.并写出存储过程的执行语句.create proc p01 系编号 charasselect #from 教师,教研室where 教师.教研室编号=教研室.教研室编号and 系编号= 系编号exec p01 1103

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号