第二章例2.1创建数据库student,并指定数据库的数据文件所在位置、初始容量、最大容量和文件增长量。例2.2创建数据库teaching,并指定数据库的数据文件和日志文件的所在位置、初始容量、最大容量和文件增长量。例2.3为student数据库增加一个日志文件。例2.4修改student数据库的排序规则。例2.5给student数据库添加文件组studentfgrp,再添加数据文件studentfile.ndf到文件组studentfgrp中。例2.6将名为student数据库改名为STUDENTDB。例2.7删除已创建的数据库student。例2.8文件和文件组示例。在SQLServer2005实例上创建了一个数据库,该数据库包括一个主数据文件、一个用户定义文件组和一个日志文件。主数据文件在主文件组中,而用户定义文件组包含两个次要数据文件。ALTERDATABASE语句将用户定义文件组指定为默认文件组。例2.9为test01创建数据库快照第三章例3.1利用CREATETABLE命令建立课程信息表course,表结构如表3.9所示。例3.2利用CREATETABLE命令建立学生分数表score,表结构如表3.10所示。该表中主键由两个列构成。例3.3利用CREATETABLE命令建立教师信息表teacher,表结构如表3.11所示。该表中列取值有“是”和“否”两种形式。例3.4创建表结构如表3.12所示的班级信息表class。然后查看该表的有关CREATETABLE命令脚本信息。例3.5为了完善teaching数据库的表间联系,创建表结构如所示的纽带表teach_class。然后查看该表的有关CREATETABLE命令脚本信息。例3.6在test01数据库中创建一个新表,然后修改其列属性。例3.7修改test01中表student1的列column_class数据类型和名称。例3.8向teaching数据库中的score表中添加数据。例3.9更改teaching数据库中的score表中的学号为0824113307、课程号为c05127的期末成绩修改为87。例3.10为数据库test01中表student1输入3行数据,然后将列st_class的值全部改为jsj1012。例3.11删除数据库test01中表student1的列st_class的值为jsj1012的行。例3.12在数据库test01中表stud,为表添加、删除行和列,再删除该表。例3.13局部临时表的创建于数据输入例3.14为数据库teaching中的班级表class的列classno创建FOREIGNKEY约束,并将其中的classname、department、monitor的“允许空”修改为NOTNULL。例3.15为数据库teaching中的成绩表score的两个列usually和final添加CHECK约束,限定其值在0~100范围内。例3.16为数据库teaching中的学生信息表student的列Email创建一个UNIQUE约束。例3.17为数据库teaching中表score的列studentno创建一个FOREIGNKEY约束。例3.18利用命令删除为数据库teaching中表score的一个约束FK_score_student1。例3.19为数据库teaching创建一条规则,该规则规定凡是分数类的列值必须在0~100之间。第四章例4.1声明一个@myvar变量,然后将一个字符串值放在变量中,再输出@myvar变量的值。例4.2显示到当前日期和时间为止试图登录SQLServer2005的次数。例4.3为前面的例子添加注释。例4.4通配符与逻辑运算符LIKE举例。在数据库teaching中可以用检查约束来验证表student的列Email的值。例4.5逻辑运算符IN的使用方法。例4.6逻辑运算符BETWEEN的使用方法。例4.7输出下列函数的值CEILING(),FLOOR(),ROUND()函数。例4.8从GETDATE函数返回的日期中提取年份、月份和天数值并输出。例4.9日期和时间函数的使用示例。例4.10使用LTRIM函数删除字符变量中的起始空格。例4.11在Transact-SQL中使用IF语句。例4.12用BEGIN和END语句可使IF语句在计算结果为FALSE时跳过语句块。例4.13循环控制语句WHILE的使用方法。例4.14简单CASE语句举例。例4.15搜索CASE语句举例。例4.16利用GOTO语句求出从1加到7的总和。例4.17使用WAITFORTIME语句,以便在晚上10:20:17执行存储过程sp_help。例4.18在一个过程中使用TRY...CATCH语句,先让SELECT语句产生除数为0的错误,该错误将使得CATCH块的执行。第五章例5.1查询表student中女生的相关信息。例5.2列出所有course的职员课程号、课程名和学分。例5.3查询表student中入学成绩在750分以上的学生的学号、姓名和电话信息。例5.4查询表student中入学成绩在780分以上的学生的学号、姓名、电话和班级名称信息。在FROM子句中使用AS关键字为表指派一个临时名称。例5.5在score表中显示期中、期末成绩都高于85分的学生学号、课程号和成绩。例5.6查询选修课称号为c05109或c06108且期末成绩大于等于85分学生的学号、课程号和成绩。例5.7查询计算机学院的具有高级职称教师的教师号、姓名和从事专业。例5.8利用SELECT…INTO创建新表。在teaching数据库中创建一个新表学生成绩st_score。包括学生学号、姓名、课程号和期末成绩。例5.9查询数据库test01中“奖学金”表中获得奖学金的学生的学号、班级号、综合测评和班级名次情况。例5.10在student表中1989年以后出生的学生的学号、姓名、入学成绩和Email。例5.11在student表中显示所有姓何或姓韩的学生的姓名、生日和Email。例5.12在student表中显示手机号开始3位不是131的学生姓名、电话和Email。例5.13在student表中显示所有1989年或1月份出生的学生的姓名、生日和Email。例5.14查询选修课程号为c05109的学生学号和期末成绩,并且要求平时成绩在88到95之间。例5.15查询选修课程号为c05103的学生学号和总评成绩,并且要求期末成绩不在78到90之间。其中,总评成绩成绩的计算公式为:总评成绩=Final*0.7+usually*0.3例5.16查询学号分别为的0824113307、0925111109和0935222201的学生学号、课程号、平时成绩和期末成绩。例5.17查询出生日期在1989年以后的学生的学号、姓名、电话和年龄。例5.18在student表中查询学生的学号、姓名和入学成绩,并按照入学成绩的降序排列。例5.19在student表中查询学号大于0923000000的学生的学号、姓名、电话和Email,并按照姓名的升序排序。例5.20在score表中查询总评成绩大于85的学生的学号、课程号和总评成绩,并先按照课程号的升序、再按照总评成绩的降序排列。例5.21在st_score表中查询期末成绩含有高于85的学生的学号和姓名,并按照姓名排序。例5.22利用SELECT语句从student表中返回入学成绩前5名的学生的学号、姓名、分数和电话。例5.23利用SELECT语句从student表中返回入学成绩排在前35%的学生的学号、姓名、分数和电话。例5.24利用GROUPBY子句分组,显示每个学生的学号和平均总评成绩。例5.25统计student表中的男女学生的人数。例5.26利用GROUPBY子句对score表数据分组,显示总评成绩高于85分的每个学生的学号和平均总评成绩。例5.27查询选课在3门以上且各门课程期末成绩均高于75分的学生的学号及其总成绩,查询结果按总成绩降序列出。例5.28查看student表中,入学成绩在788分以上的学生的学号、出生日期和电话,且年龄最小的学生的生日。例5.29分别查询student表中入学成绩在750分以上的男女学生的学号、性别、出生日期和电话,且年龄最小的男女学生的生日。例5.30查询选修课程号为c05109号课程的期末最高分、最低分及之间相差的分数例5.31通过查询求09级学生的总数。例5.32查询选课少于3门的学生的学号及其选课的门数。例5.33查询score表中各门课程的课程号及期末平均成绩。例5.34查询score表中学生各科期末的总成绩大于280的学生学号及总成绩。第六章例6.1查询选修课程号为c05109的学生的学号、姓名、和期末成绩。例6.2查询选修课程号为c05103且平时成绩高于80分的学生的学号、姓名、平时成绩和期末成绩。例6.3利用左外连接方式查询08级学生的学号、姓名、平时成绩和期末成绩。例6.4利用右外连接方式查询教师的排课情况。例6.5利用完全外连接方式查询教师的排课情况。例6.6显示student表和score表的笛卡儿积。例6.7查询08级学生的学号、姓名、课程名、期末成绩及学分例6.8查询计算机学院的老师的上课情况例6.9合并结果集示例。例6.10查询学号为0828261367的学生的入学成绩、所有学生的平均入学成绩及该学生成绩与所有学生的平均入学成绩的差。例6.11获取期末成绩中含有高于93分的学生的姓名、学号、电话和Email例6.12查询选修课程的多于2门、且期末成绩均在85分以上的学生的学号、姓名、电话和Email。例6.13查询期末成绩比该选修课程平均期末成绩低的学生的学号、课程号和期末成绩。例6.14获取期末成绩高于85分、总评成绩高于90分的学生的学号、课程号和总评成绩。例6.15创建一个表sc,将score表中08级学生的相关数据添加到sc表中,并要求计算总评成绩。例6.16将sc表中含有总分低于80的课程的学生总分增加5%。例6.17查询student表中是否存在在1990年12月12日以后出生的学生,如果存在,输出学生的学号、姓名、生日和电话。例6.18使用STATIC关键字声明全局游标cEmploy。例6-19使用FETCH访问游标中的记录例6.20使用游标打印teacher表表格:例6.21使用嵌套游标生成报表输出08级每个学生的学号、各科课程号、总评成绩和电话例6.21声明游标,查看游标对teacher表进行检索的状态。例6.23利用sp_cursor_list系统存储过程显示游标的属性。例6.24利用BULKINSERT命令向teaching数据库中的st_score数据表添加数据。例6.25在teaching数据库中创建expic表,然后向该表添加新的记录。例6.26使用OPENROWSET命令的方法添加大容量数据。第七章例7.1给出一个程序,在teaching数据库中的student表的studentname列上创建唯一索引IDX_sname。例7.2给出一个程序,在teaching数据库中的student表的studentno和classno列上创建组合索引IDX_sc。例7.3重新组织teaching数据库中student表上的IDX_sc索引。例7.4重新生成teaching数据库中student表上的IDX_sname索引,设置填充索引,将填充因子设置为80%,设置将中间排序结果存储在tempdb中。例7.5重新生成teaching数据库中test_index表上的C_studentno索引,将其修改为聚集唯一索引,并指定该索引的叶级页的填充度为70%。例7.6删除teaching数据库中student表上的聚集索引C_studentno和非聚集索引UC_classno。例7.7给出一个程序,在student表的studentno和classno上创建一个统计组studentclass,要求对所有记录计算统计信息。例7.8通过DBCCSHOWSTATISTICS