在SQLServer2000的某数据库中有如下两张关系表:学生表(学号,姓名,性别,系号),学号为主码系表(系号,系名,系简称),系号为主码①在数据库中执行如下T-SQL代码:DECLARE @DePtID varchar(10)DECLARE @cnt intset @cnt=ODECLARE cursor1 cursor FOR SELEET系号FROM系表WHERE系名LIKE'%电%'OPEN cursorlFETCH NEXT FROM cursor1 INTO @DePtIDWHILE @@FETCH_STATUS=OBEGINDECLARE @temp_cnt intsELECT @temp_cnt=COUNT(*)FROM学生表WHERE系号=@DeptIDset @Cnt=@cnt+@temp_cntFETCH NEXT FROM cursor1 INTO ODePtIDENDCLOSE cursor1DEALLOCATE cursor1SELECT @cnt执行过程中发现速度比较慢,为了解决性能问题,需在功能不变的情况下,将此T-SQL代码改为一条SQL语句,请写出此SQL语句(语句中不能含有子查询)并说明为什么此种修改可以提高性能。②设在学生表的(姓名,系号)列上建有一个复合索引,该索引是否有助于提高下列两个语句的查询效率?并说明原因。SELECT*FROM学生表 WHERE系号=‘1’;SELEET*FRoM学生表WHERE姓名=‘张三’;

在SQLServer2000的某数据库中有如下两张关系表:

学生表(学号,姓名,性别,系号),学号为主码

系表(系号,系名,系简称),系号为主码

①在数据库中执行如下T-SQL代码:

DECLARE @DePtID varchar(10)

DECLARE @cnt int

set @cnt=O

DECLARE cursor1 cursor FOR SELEET系号FROM系表

WHERE系名LIKE'%电%'

OPEN cursorl

FETCH NEXT FROM cursor1 INTO @DePtID

WHILE @@FETCH_STATUS=O

BEGIN

DECLARE @temp_cnt int

sELECT @temp_cnt=COUNT(*)FROM学生表WHERE系号=@DeptID

set @Cnt=@cnt+@temp_cnt

FETCH NEXT FROM cursor1 INTO ODePtID

END

CLOSE cursor1

DEALLOCATE cursor1

SELECT @cnt

执行过程中发现速度比较慢,为了解决性能问题,需在功能不变的情况下,将此T-SQL代码改为一条SQL语句,请写出此SQL语句(语句中不能含有子查询)并说明为什么此种修改可以提高性能。

②设在学生表的(姓名,系号)列上建有一个复合索引,该索引是否有助于提高下列两个语句的查询效率?并说明原因。

SELECT*FROM学生表 WHERE系号=‘1’;

SELEET*FRoM学生表WHERE姓名=‘张三’;


相关考题:

建立一个学生关系表Student,表中有5个字段:学号Sno(字符型)、姓名Sname(字符型)、性别Sex(字符型)、年龄Age(整型)、系别Dept(字符型),其中Sno是关系的码;建立一个学生选课关系表SC,表中有3个字段:学号Sno(字符型)、课程号Cno(字符型)、成绩Grade(数值型),其中Sno、Cno是关系的码,用SQL语言完成下列功能:① 建立学生关系表Student和学生选课关系表SC。② 查询计算机系(’CS’)所有同学的姓名和各科成绩。③ 添加一个学生记录,学号为20020003,姓名为吴刚,性别为男,年龄为19岁,所在系为计算机系。④ 逻辑删除李江同学的相关记录。

有两个基本关系:学生(学号,姓名,系号)和系(系号,系名,系主任),学生表的主码为学号,系表的主码为系号,因而系号是学生表的A.主码(主键)B.外码(外关键字)C.域D.映像

有两个基本关系:学生(学号,姓名,系号),系(系号,系名,系主任),学生表的主码为学号,系表的主码为系号,因而系号是学生表的( )。A.主码B.外码C.域D.映像

有两个基本关系:学生(学号,姓名,系号),系(系号,姓名,系主任),学生表,的主码为学号,系表的主码为系号,因而系号是学生表的______。A.主码(主键)B.外码(外关键字)C.域D.映像

有两个基本关系:学生(学号,姓名,系号),系(系号,系名,系主任)。学生表的主码为学号,系表的主码为系号,因而系号是学生表( )。A.主码(主键)B.外码(外关键字)C.域D.映像

设某数据库中有学生表(学号,姓名,所在系)和选课表(学号,课程号,成绩)。现要查询没选课的学生姓名和所在系。下列语句中能够实现该查询要求的是( )。A.SELECT姓名,所在系FROM学生表a LEFT JOIN选课表bON a.学号=b.学号WHERE a.学号IS NULLB.SELECT姓名,所在系FROM学生表a LEFT JOIN选课表bON a.学号=b.学号WHERE b.学号IS NULLC.SELECT姓名,所在系FROM学生表a RIGHT JOIN选课表bON a.学号=b.学号WHERE a.学号IS NULLD.SELECT姓名,所在系FROM学生表a RIGHT JOIN选课表bON a.学号=b.学号WHERE b.学号IS NULL

有两个基本关系:学生(学号,姓名。系号),系(系号,系名,系主任),学生表的主码为学号,系表的主码为系号,因而系号是学生表的______。A.主码(主键)B.外码(外关键字)C.域D.映像

在下列的两个关系中,学号和系号分别为学生登记表和系信息表的主键(或称主码),则外键是 学生登记表(学号,姓名,性别,年龄,系号) 系信息表(系号,名称,办公室,主任)A.学生登记表的学号B.系信息表的系号C.学生登记表的系号D.系信息表的名称

一个学校的数据库中有表示院系和学生的表:院系(系编号,系名称,联系电话,地点),学生(学号,姓名,性别,籍贯,专业,系编号),则学生表中的主键和外键分别是()。A.学号,无B.学号,系编号C.学号,姓名D.学号,专业