在SQLServer2000的某数据库中有如下两张关系表: 学生表(学号,姓名,性别,系号),学号为主码 系表(系号,系名,系简称),系号为主码
设在学生表的(姓名,系号)列上建有一个复合索引,该索引是否有助于提高下列两个语句的查询效率?并说明原因。
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语句(语句中不能含有子查询)并说明为什么此种修改可以提高性能。 在SQLServer2000中,某数据库中有教师表(教师号,姓名,职称),其中教师号的数据类型是整型,其他均为字符类型。若教师表中当前没有数据,用户在数霜尾币藕次执行下列语句:
Ⅰ.BEGIN TRANSACTION T1;
Ⅱ.INSERT INTO教师表VALUES(1000,’张三’,’助教’);
Ⅲ.INSERT INTO教师表VALUES(1001,’王二’,’助教’);
Ⅳ.COMMIT T1;
Ⅴ.BEGIN TRANSACTION T2;
Ⅵ.INSERT INTO教师表VALUES(1002,’王三’,’讲师’);
Ⅶ.INSERT INTO教师表VALUES(1003,’李四’,’讲师’);
Ⅷ.COMMIT T2;
在Ⅶ执行的时候数据库所在的服务器突然掉电,当数据库系统重新启动后,教师表中包含的数据条数为()
专业 |
姓名 |
学号 |
年龄 |
电子 |
张家力 |
D-002 |
19 |
计算机 |
苏永军 |
J-100 |
18 |
自动化 |
邓秀娟 |
Z-058 |
23 |
[问题4] 检索至少选修了课程号为1和课程号为5的课程的学生的学号。 |
我来回答: