更多"在SQLServer 2000的某数据库中有如下两张关系表: 学生表"的相关试题:
[简答题]在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姓名=‘张三’;
[简答题]
在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;
在Ⅶ执行的时候数据库所在的服务器突然掉电,当数据库系统重新启动后,教师表中包含的数据条数为()
A. 4条
B. 3条
C. 2条
D. 0条
[简答题]在一个教务管理系统中,设有如下关系表:
学生(学号,姓名,性别,年龄,班级)
教师(教师号,教师名,职称,系别)
课程(课程号,课程名,教师号)
选课(学号,课程号,成绩)
其中,学号、教师号和课程号分别是学生表、教师表和课程表的主码。
请用SQL语句完成如下操作:
①以系为单位,统计每个系教师所有课程成绩的平均分。
②统计各门课程的选课人数,并按从高到低的顺序进行排列。
③列出“计算机系”所有教授“数据结构”课程的教师的姓名和职称。
④统计每门课程成绩未达到60分的学生人数和课程名并按人数降序进行排列。
⑤列出课程成绩未达该门课程平均分的学生姓名、课程名和分数。
[填空题]使用关系表:学生(学号,姓名,性别,年龄,班级),写出实现下列功能的SQL语句。删除学号为15的学生记录:
DELETE______学生 WHERE 学号=15
[简答题](1)在考生文件夹中有一个student 学生表,表结构如下:
学生(学号C(3),姓名C(9),年龄N(3),性别C(3),院系号C(3)),现在要对STUDENT 表进行修改,指定“学号”为主索引,索引名和索引表达式均为“学号”;指定“系号”为“普通索引”,索引名和索引表达式均为“系号”;年龄字段的有效性规则在15至30之间(含15和30),默认值是18。
(2)列出客户名为“飞腾贸易公司”的订购单明细记录,将结果先按“订单编号”升序排列,同一订单的再按“价格”降序排列,并将结果存储到res 表中(表结构与order_detail表结构相同)。
[填空题]假设学生选课管理数据库中有3个表;学生、课程和学生选课,其结构分别如下所示:
学生(学号C(6),姓名C(8),系别C(30),省份C(10))
课程(课程号C(6),课程名C(20),先修课号C(6))
学生选课(学号C(6),课程号C(6),成绩N(4))
如果要查询每个学生及其选修课的情况,请对下面的SQL语句填空。
SELECT学生.学号,学生.姓名,学生.系别,学生.省份,
学生选课.课程号,学生选课.成绩
FROM学生选课管理!学生,学生选课管理!学生选课
WHERE学生.学号 【9】
[简答题]关系表Students(专业,姓名,学号,年龄)在对应的数据文件中的物理存储结构示意图如下:
专业 | 姓名 | 学号 | 年龄 |
电子 | 张家力 | D-002 | 19 |
计算机 | 苏永军 | J-100 | 18 |
自动化 | 邓秀娟 | Z-058 | 23 |
计算机 | 叶浩伟 | J-206 | 21 |
写出在“专业”属性上建立聚集索引的SQL语句,索引值按升序排列(索引名为ZY_ind)。
[单项选择]有学生关系:学生(学号,姓名,年龄),对学生关系的查询语句如下:
SELECT 学号 FROM 学生 WHERE 年龄>20 AND 姓名 LIKE ’%海’
如果要提高该语句的查询效率,应该建立索引的属性是______。
A. 学号
B. 姓名
C. 年龄
D. (学号,姓名)
[填空题]设有如下关系:学生(学号,姓名,性别,年龄,班号) 其关键字是学号,将学号为10的学生姓名改为“王华”的SQL语句是______。
[填空题]设有如下关系:学生(学号,姓名,性别,年龄,班号)其关键字是学号,将学号为10的学生姓名改为“王二小”的SQL语句是______。