sql server 数据库管理与开发教程与实训(第2版习题答案)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
while @i<20
begin
set @s=@s*@i
set @i=@i+1
end
print '20!='+str(@s,20)
(5)declare @xh int,@cj bigint,@zh int
set @xh=1
set @cj=1
set @zh=0
while @xh<21
begin
if @xh%2=0
as
select班级编号,名称,avg(分数)均分,max(分数)最高分,min(分数)最低分
from教学成绩表cj
join课程信息表kc on cj.课程编号=kc.编号
join学生信息表xs on xs.学号=cj.学号
group by班级编号,名称
14.create view优秀学生成绩视图
as
order by出生日期
3.use教学成绩管理数据库
go
select *
from学生信息表
where datediff(year,出生日期,getdate())>25 and datediff(year,出生日期,getdate())<28
order by出生日期
4.use教学成绩管理数据库
go
select姓名,性别,联系电话
7.use教学成绩管理数据库
go
select distinct xs2.姓名
from学生信息表as xs1 join学生信息表as xs2 on left(xs1.姓名,1)=left(xs2.姓名,1)
where xs1.学号<>xs2.学号
8.use教学成绩管理数据库
go
select xs.班级编号,课程编号,avg(分数)
第三章
一、填空题
1.本地系统域用户
2.Windows身份验证模式混合模式
3.默认选项下一步
4.查询分析器服务管理器企业管理器
5.开始/继续停止
6.服务器组服务器登录和用户
7.创建,修改查询增加修改删除
8.技术文档使用说明
----------------------------------------------------------------------------------------------------------------------
from学生信息表as xs
inner join教学成绩表as cj on cj.学号=xs.学号
group by xs.班级编号,课程编号
order by avg(分数) desc,xs.班级编号desc
9.use教学成绩管理数据库
go
select bj.名称,xs.学号,xs.姓名,avg(分数)
from班级信息表as bj
inner join学生信息表as xs on bj.编号=xs.班级编号
inner join教学成绩表as cj on cj.学号=xs.学号
group by bj.名称,xs.学号,xs.姓名
order by avg(分数) desc,bj.名称
10.use教学成绩管理数据库
set @cj=@cj*@xh
else
set @zh=@zh+@xh
set @xh=@xh+1
end
print '1到20的之和是'+str(@zh)
print '1到20的乘积是'+str(@cj)
----------------------------------------------------------------------------------------------------------------------
where datediff(year,出生日期,getdate())=25 or datediff(year,出生日期,getdate())=27
order by出生日期
2.use教学成绩管理数据库
go
select *
from学生信息表
where (datediff(year,出生日期,getdate())=25 or datediff(year,出生日期,getdate())=27)and性别='男'
constraint fk_成绩_课程编号foreign key(课程编号) references课程信息表(编号)
7.use教学成绩管理数据库
declare @学位名称nchar(2)
set @代码=1
set @学位名称=
case @代码
when 1 then '博士'
when 2 then '硕士'
when 3 then '学士'
end
print @学位名称
(4)declare @i int,@s bigint
set @i=1
set @s=1
alter table课程信息表
add constraint ck_类别
check(类别in ('公共基础课','选修课','专业基础课','专业课'))
4.use教学成绩管理数据库
go
alter table学生信息表
with nocheck
add constraint ck_联系电话
check(联系电话like '(0351)-_______')
第二章
一、选择题B D C
二、填空题
1.跟班作业、开调查会、业务询问、问卷调查、查阅资料
2.自顶向下、自底向上
3.需求分析、概念、逻辑、物理
4.自顶向下、自底向上、混合策略
5.一对一、一对多、多对多
三、判断题T T T F
----------------------------------------------------------------------------------------------------------------------
学号char(3),
课程号char(6),
分数int
)
2.use教学成绩管理数据库
go
alter table课程信息表
add constraint uq_名称unique(名称)
3.use教学成绩管理数据库
go
alter table课程信息表
alter column类别nchar(14) not null
第一章
一、选择题A C D A
二、填空题
1.层次、网状、关系、关系
2.数据结构、数据操作、完整性约束
3.模式、外模式、外模式/模式映象、模式/内模式映象
4.选择、投影、连接
5.水平、垂直
6.实体、域、参照
7.一张二维表、行、列
8.插入、修改、删除
9.客户、浏览器
----------------------------------------------------------------------------------------------------------------------
select datepart(year,getdate())-datepart(year,'19850101')
select datediff(month,'2008-6-1',getdate())
select (year(getdate())-year('2008-6-1'))*12+(month(getdate())-month('2008-6-1'))
from学生信息表
where姓名like '刘%'
5.use教学成绩管理数据库
go
select姓名,性别,籍贯
from学生信息表
where left(籍贯,2) not in('山西')
6.use教学成绩管理数据库
go
select姓名,性别,联系电话
from学生信息表
where left(姓名,1) not in('刘','张')
第五章
一、选择题C C A
二、填空题
1.master tempdeb model pubs
2.主文件mdf次要文件ndf事务日志文件ldf
3.表、视图、存储过程
4.alterdropdatebase
5.insert update delete
四、设计题
1.创建表(以创建学院信息表为例,其它略)
use教学成绩管理数据库
第七章
一、填空题
1.域
2.实体
3.声明数据、过程数据
4.实体、域、参照、用户定义
5.用户定义的数据类型时
6.一个
7.修改表
8.重复、空
9.nocheck
10.sp_bindrule
二、判断题F T F F T
四、设计题
1.use教学成绩管理数据库
go
create table成绩表
(自动编号int identity(200501,2) primary key not null,
go
select xs.学号,姓名,名称,分数
from学生信息表as xs,教学成绩表as cj,课程信息表as kc
where xs.学号=cj.学号and cj.课程编号=kc.编号and班级编号='200303'
注意:编号为900012的课程由两个教师上
12.例6.30相同
13.create view班级课程成绩统计表
select学号,姓名,课程名称,分数
from教学成绩表视图
where分数>=90
----------------------------------------------------------------------------------------------------------------------
第四章
一、填空题
1.Bigint、int、smallint、tinyint、-21亿21亿
2.money、-21、21、万
3.datetime、1900.1.1、2079.12.31、分钟
4.8
5.@、@@
6.单、单
7.$、N、0x
8.17、-215、13.4400、-18.4560
9.66C7
10.BEAUTIFULbeautiful
11.9876狼是你
12.我心中的太阳我心中的月亮
13.by百岁不是梦百岁
14.1931 7 142009-01-12 19:24:55.543
15.7719852015
16.35
17.减(-)乘(*)除(/)取余(%)
18.等于(=)不等于(<>)小于(<)小于等于(<=)大小相同与否
19.字符串联接、比较、逻辑
第六章
一、选择题A B B D C
二、填空题
1.Select
2.INTO FROM WHERE GROUP BY COMPUTE ORDER BY
3.max() min() avg() sum()
4.条件
5.模糊
6.视图虚拟表(查询表)
四、设计题
1.use教学成绩管理数据库
go
select *
from学生信息表
(3)A:declare @代码int
declare @学位名称nchar(2)
set @代码=1
set @学位名称=
case
when @代码=1 then '博士'
when @代码=2 then '硕士'
when @代码=3 then '学士'
end
print @学位名称
B:declare @代码int
go
creFra Baidu bibliotekte table学院信息表
(编号char(2) primary key,
名称nchar(20) no null,
简称nchar(10) no null,
院长nchar(4),
书记nchar(4)
)
9.Drop table学院信息表
10.Drop datebase教学成绩管理数据库
----------------------------------------------------------------------------------------------------------------------
go
select学生信息表.学号,姓名,分数
from学生信息表
join教学成绩表on学生信息表.学号=教学成绩表.学号
where课程编号='900011' and分数>
(select avg(分数)
from教学成绩表
group by课程编号
having课程编号='900011')
11.use教学成绩管理数据库
5.use教学成绩管理数据库
go
alter table学生信息表
add constraint df_籍贯default '山西省' for籍贯
6.use教学成绩管理数据库
go
alter table教学成绩表
add constraint fk_成绩_学号foreign key(学号) references学生信息表(学号),
20.近似数值、日期时间、字符与二进制、特殊
三、设计题
(1)select dateadd(day,100,getdate()) as '今天后100天是'
select getdate()+100 as '今天后一百天是'
(2)select datediff(year,'19880101',getdate())
begin
set @s=@s*@i
set @i=@i+1
end
print '20!='+str(@s,20)
(5)declare @xh int,@cj bigint,@zh int
set @xh=1
set @cj=1
set @zh=0
while @xh<21
begin
if @xh%2=0
as
select班级编号,名称,avg(分数)均分,max(分数)最高分,min(分数)最低分
from教学成绩表cj
join课程信息表kc on cj.课程编号=kc.编号
join学生信息表xs on xs.学号=cj.学号
group by班级编号,名称
14.create view优秀学生成绩视图
as
order by出生日期
3.use教学成绩管理数据库
go
select *
from学生信息表
where datediff(year,出生日期,getdate())>25 and datediff(year,出生日期,getdate())<28
order by出生日期
4.use教学成绩管理数据库
go
select姓名,性别,联系电话
7.use教学成绩管理数据库
go
select distinct xs2.姓名
from学生信息表as xs1 join学生信息表as xs2 on left(xs1.姓名,1)=left(xs2.姓名,1)
where xs1.学号<>xs2.学号
8.use教学成绩管理数据库
go
select xs.班级编号,课程编号,avg(分数)
第三章
一、填空题
1.本地系统域用户
2.Windows身份验证模式混合模式
3.默认选项下一步
4.查询分析器服务管理器企业管理器
5.开始/继续停止
6.服务器组服务器登录和用户
7.创建,修改查询增加修改删除
8.技术文档使用说明
----------------------------------------------------------------------------------------------------------------------
from学生信息表as xs
inner join教学成绩表as cj on cj.学号=xs.学号
group by xs.班级编号,课程编号
order by avg(分数) desc,xs.班级编号desc
9.use教学成绩管理数据库
go
select bj.名称,xs.学号,xs.姓名,avg(分数)
from班级信息表as bj
inner join学生信息表as xs on bj.编号=xs.班级编号
inner join教学成绩表as cj on cj.学号=xs.学号
group by bj.名称,xs.学号,xs.姓名
order by avg(分数) desc,bj.名称
10.use教学成绩管理数据库
set @cj=@cj*@xh
else
set @zh=@zh+@xh
set @xh=@xh+1
end
print '1到20的之和是'+str(@zh)
print '1到20的乘积是'+str(@cj)
----------------------------------------------------------------------------------------------------------------------
where datediff(year,出生日期,getdate())=25 or datediff(year,出生日期,getdate())=27
order by出生日期
2.use教学成绩管理数据库
go
select *
from学生信息表
where (datediff(year,出生日期,getdate())=25 or datediff(year,出生日期,getdate())=27)and性别='男'
constraint fk_成绩_课程编号foreign key(课程编号) references课程信息表(编号)
7.use教学成绩管理数据库
declare @学位名称nchar(2)
set @代码=1
set @学位名称=
case @代码
when 1 then '博士'
when 2 then '硕士'
when 3 then '学士'
end
print @学位名称
(4)declare @i int,@s bigint
set @i=1
set @s=1
alter table课程信息表
add constraint ck_类别
check(类别in ('公共基础课','选修课','专业基础课','专业课'))
4.use教学成绩管理数据库
go
alter table学生信息表
with nocheck
add constraint ck_联系电话
check(联系电话like '(0351)-_______')
第二章
一、选择题B D C
二、填空题
1.跟班作业、开调查会、业务询问、问卷调查、查阅资料
2.自顶向下、自底向上
3.需求分析、概念、逻辑、物理
4.自顶向下、自底向上、混合策略
5.一对一、一对多、多对多
三、判断题T T T F
----------------------------------------------------------------------------------------------------------------------
学号char(3),
课程号char(6),
分数int
)
2.use教学成绩管理数据库
go
alter table课程信息表
add constraint uq_名称unique(名称)
3.use教学成绩管理数据库
go
alter table课程信息表
alter column类别nchar(14) not null
第一章
一、选择题A C D A
二、填空题
1.层次、网状、关系、关系
2.数据结构、数据操作、完整性约束
3.模式、外模式、外模式/模式映象、模式/内模式映象
4.选择、投影、连接
5.水平、垂直
6.实体、域、参照
7.一张二维表、行、列
8.插入、修改、删除
9.客户、浏览器
----------------------------------------------------------------------------------------------------------------------
select datepart(year,getdate())-datepart(year,'19850101')
select datediff(month,'2008-6-1',getdate())
select (year(getdate())-year('2008-6-1'))*12+(month(getdate())-month('2008-6-1'))
from学生信息表
where姓名like '刘%'
5.use教学成绩管理数据库
go
select姓名,性别,籍贯
from学生信息表
where left(籍贯,2) not in('山西')
6.use教学成绩管理数据库
go
select姓名,性别,联系电话
from学生信息表
where left(姓名,1) not in('刘','张')
第五章
一、选择题C C A
二、填空题
1.master tempdeb model pubs
2.主文件mdf次要文件ndf事务日志文件ldf
3.表、视图、存储过程
4.alterdropdatebase
5.insert update delete
四、设计题
1.创建表(以创建学院信息表为例,其它略)
use教学成绩管理数据库
第七章
一、填空题
1.域
2.实体
3.声明数据、过程数据
4.实体、域、参照、用户定义
5.用户定义的数据类型时
6.一个
7.修改表
8.重复、空
9.nocheck
10.sp_bindrule
二、判断题F T F F T
四、设计题
1.use教学成绩管理数据库
go
create table成绩表
(自动编号int identity(200501,2) primary key not null,
go
select xs.学号,姓名,名称,分数
from学生信息表as xs,教学成绩表as cj,课程信息表as kc
where xs.学号=cj.学号and cj.课程编号=kc.编号and班级编号='200303'
注意:编号为900012的课程由两个教师上
12.例6.30相同
13.create view班级课程成绩统计表
select学号,姓名,课程名称,分数
from教学成绩表视图
where分数>=90
----------------------------------------------------------------------------------------------------------------------
第四章
一、填空题
1.Bigint、int、smallint、tinyint、-21亿21亿
2.money、-21、21、万
3.datetime、1900.1.1、2079.12.31、分钟
4.8
5.@、@@
6.单、单
7.$、N、0x
8.17、-215、13.4400、-18.4560
9.66C7
10.BEAUTIFULbeautiful
11.9876狼是你
12.我心中的太阳我心中的月亮
13.by百岁不是梦百岁
14.1931 7 142009-01-12 19:24:55.543
15.7719852015
16.35
17.减(-)乘(*)除(/)取余(%)
18.等于(=)不等于(<>)小于(<)小于等于(<=)大小相同与否
19.字符串联接、比较、逻辑
第六章
一、选择题A B B D C
二、填空题
1.Select
2.INTO FROM WHERE GROUP BY COMPUTE ORDER BY
3.max() min() avg() sum()
4.条件
5.模糊
6.视图虚拟表(查询表)
四、设计题
1.use教学成绩管理数据库
go
select *
from学生信息表
(3)A:declare @代码int
declare @学位名称nchar(2)
set @代码=1
set @学位名称=
case
when @代码=1 then '博士'
when @代码=2 then '硕士'
when @代码=3 then '学士'
end
print @学位名称
B:declare @代码int
go
creFra Baidu bibliotekte table学院信息表
(编号char(2) primary key,
名称nchar(20) no null,
简称nchar(10) no null,
院长nchar(4),
书记nchar(4)
)
9.Drop table学院信息表
10.Drop datebase教学成绩管理数据库
----------------------------------------------------------------------------------------------------------------------
go
select学生信息表.学号,姓名,分数
from学生信息表
join教学成绩表on学生信息表.学号=教学成绩表.学号
where课程编号='900011' and分数>
(select avg(分数)
from教学成绩表
group by课程编号
having课程编号='900011')
11.use教学成绩管理数据库
5.use教学成绩管理数据库
go
alter table学生信息表
add constraint df_籍贯default '山西省' for籍贯
6.use教学成绩管理数据库
go
alter table教学成绩表
add constraint fk_成绩_学号foreign key(学号) references学生信息表(学号),
20.近似数值、日期时间、字符与二进制、特殊
三、设计题
(1)select dateadd(day,100,getdate()) as '今天后100天是'
select getdate()+100 as '今天后一百天是'
(2)select datediff(year,'19880101',getdate())