单选题 第(31)到(35)题见表4-1、表4-2:
表4-1 “班级”表

                   表 4-2 “学生”表
单选题 有下列SQL语句:
SELECT 班级名称,姓名 FROM 班级,学生;
WHERE 班级.班级号=学生.班级号;
AND 年龄>=20 AND 性别="男";
ORDER BY 班级名称 DESC
执行该语句后,查询结果中共有几条记录,且第一条记录的学生姓名是( )。
【正确答案】 C
【答案解析】[解析] 本题SQL语句的功能是检索每个班级中年龄大于等于20岁的男同学,查询结果中包含该学生所在的班级名称及姓名,查询结果为按“班级名称”降序排序,其中,ORDER BY短语的功能是对查询结果进行排序,DESC是按降序方式排序。
单选题 有下列SQL语句:
SELECT MAX(人数) FROM 班级 INTO ARRAY temp
执行该语句后( )。
【正确答案】 D
【答案解析】[解析] SQL不仅有一般的检索功能,而且还有计算方式的检索,利用MAX()函数可以计算指定列中的最大值。本题的SQL语句功能是检索“班级”表中人数最多的班级,将数值输出到数组temp中,其中INTO ARRAY 表示将结果输出到指定的数组中,注意数组的下标是从1开始的,而不是从0开始。
单选题 有下列SQL语句:
SELECT 班级名称,姓名,性别,年龄 FROM 班级,学生;
WHERE 班级.班级号=学生.班级号;
AND 姓名 LIKE"李%";
ORDER BY 学生.班级号
该语句的含义是( )。
【正确答案】 C
【答案解析】[解析l该SQL语句的功能是检索学生表中姓“李”的学生记录,要求显示该学生的班级名称、姓名、性别和年龄,并按“班级号”升序排序。这里的LIKE是字符匹配运算符,“%”是通配符,表示与若干个任意字符匹配;另外,还可以使用“_”通配符表示与一个任意字符匹配。ORDER BY是排序短语,默认的排序方式是按升序排序。
单选题 有下列SQL语句:
SELECT 班级名称 FROM 班级 WHERE NOT EXISTS
(SELECT*FROM 学生 WHERE 班级号=班级.班级号)
执行该语句后,班级名称的字段值是( )。
【正确答案】 B
【答案解析】[解析] 该SQL语句的功能是查找还没有学生记录的班级名称。在“学生”表中暂时还没有“计算机200805班”学生的记录,所以查询结果为“计算机200805班”。EXISTS是谓词,EXISTS 或 NOT EXISTS 是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。
单选题 将“学生”表中,所有学生的“年龄”加1,正确的命令语句是( )。
【正确答案】 C
【答案解析】[解析] SQL的数据更新命令格式:
UPDATE<表名>SET列名1=表达式1[,列名2=表达式2...]
[WHERE<条件表达式>]
一般使用WHERE子句指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段;如果不使用WHERE子句,则更新全部记录。