6.建立索引

(1)、修改表结构,

列0,编号

列1,姓名

列2,性别

列3,出生日期

列4,所在地

(2)、将错误的性别修改。

(3)、将出生日期修改为datetime类型。(会提示错误)使用函数isdate,检查出生日期是否为日期格式。

update a

set 出生日期=left(所在地,8)

where isdate(出生日期)=0

update a

set 出生日期=substring(所在地,3,8)

where isdate(出生日期)=0

测试修改成功与否:

select * from a

where isdate(出生日期)=0

最终保存效果如下:

---------------------------------------------------------------------

以下题目必须在完成以上内容后才能操作。

-----------------------------------------------------------------------

注意使用:set statistics time on

(4)、查找所有的数据,并按照编号升序,SQL Server 执行时间。

set statistics time on

SELECT  * 
FROM 学生表 
ORDER BY 编号 ASC;

(5)、查找出生日期>=1990-01-01的数据,SQL Server 执行时间。

--方式一:having
SELECT * FROM 学生表 
GROUP BY 出生日期,学号,姓名,性别,专业编号,入学成绩
HAVING 出生日期>='1990-01-01';

--方式二:where(推荐)
SELECT * FROM 学生表 
WHERE 出生日期>='1990-01-01';

(7)、查找编号大于50万的姓赵的人;分两种情况第一种把编号大于50万写在姓赵之前,第二种将姓赵写在编号大于50万之前,SQL Server 执行时间。

SELECT 姓名 FROM 学生表
WHERE 专业编号>50 AND 姓名 LIKE '赵%';

(8)、查找89年出生的人;分两种写一种为year,一种为〉=1989-01-01,小于等于89-12-31,SQL Server 执行时间。

SELECT 姓名 FROM 学生表
WHERE YEAR(出生日期) = 1989;
SELECT  姓名 FROM 学生表
WHERE 出生日期 BETWEEN '1989-01-01' AND '90-01-01';

-----------------------------------------------------------

以下题目需要建立索引:

------------------------------------------------------------

(9)、在第四题编号为主键,建立聚集索引按升序排列,重做,SQL Server 执行时间。

(10)、在第五题主键上建立聚集索引,在出生日期上建立非聚集索引,重做第五题,SQL Server 执行时间。

(11)、依照第9题环境重做第7题,SQL Server 执行时间。

(12)、将主键中的聚集索引和出生日期上建立非聚集索引删除,在出生日期上建立聚集索引重做第五题,SQL Server 执行时间。

(13)、依照第11题的环境重做第7题,SQL Server 执行时间。

(14)、建立多列索引查询6题,SQL Se

posted @ 2023-04-29 19:43  郭培鑫同学  阅读(295)  评论(0编辑  收藏  举报