使用SQL Serve语句创建索引
实验环境:西游记团队有台装好的SQL Server 数据库服务器,创建有三张表信息如图,存储了取经同学的详细信息:
有天佛祖派代表来视察,为方便查看信息,唐僧让运维工程师白龙马现做如下配置:
1.基于基本表中的姓名创建非聚集索引,并练习使用姓名查询。
2.基于成绩表成绩创建非聚集索引,并使用此索引查询成绩在80~90之间的同学成绩。
3.基于科目表的科目id创建唯一索引,并查询科目id=1的科目名称。
4.创建视图:包含学生姓名和总成绩,并查询视图。
5.创建统计每个学生总成绩的存储过程。
要求1
基于基本表姓名创建非聚集索引:
create index aa
on 基本信息表(姓名)
使用姓名查询:
select * from 基本信息表
with (index=aa)
要求2
基于成绩表成绩创建非聚集索引:
create index bb
on 成绩表(成绩)
查询成绩在80~90之间的同学成绩:
select 姓名,成绩 from 基本信息表,成绩表
with (index=bb)
where 成绩 between 80 and 90
要求3
基于科目表的科目id创建唯一索引:
create unique clustered index oo
on 科目表(科目id)
查询科目id=1的科目名称:
select 科目名称,科目id from 科目表
with (index=oo)
where 科目id=1
要求4
创建视图:包含学生姓名和总成绩
create view v2
as
select 姓名,sum(成绩) as 总成绩
from 基本信息表 left join 成绩表 on 基本信息表.学号=成绩表.学号
group by 姓名
查询视图:
select * from v2
要求5
创建统计每个学生总成绩的存储过程:
create proc oo
as
select 姓名 ,sum(成绩) as 总成绩
from 基本信息表 left join 成绩表 on 基本信息表.学号=成绩表.学号
group by 姓名
查询验证:
exec oo