单选题
(31)到(35)题使用下列数据表。
“班级” 表 班级号 班级名称 人数
11 计算机200801班 44
22 计算机200802班 50
33 计算机200803班 49
44 计算机200804班 46
55 计算机200805班 48
“学生” 表 学号 姓名 性别 年龄 班级号
S1 李志明 男 18 33
S2 万力佳 女 19 11
S3 李凤 女 20 22
S4 赵洪波 男 24 33
S5 刘鹏 男 22 44
S6 王晓晓 女 20 22
S7 张文静 女 22 11
S8 汪菁菁 女 19 44
S9 刘立洋 男 20 11
单选题
有下列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不仅有一般的检索功能,而H还有计算方式的检索,利用MAX()函数可以计算指定列中的最大值。本题的SQL语句功能是检索“班级”表中人数量多的班级,将数值输出到数组temp中,其中INTO ARRAY表示将结果输出到指定的数组中。注意:数组的下标是从I开始的,而不是从0开始。
单选题
有下列SQL语句:
SELECT 班级名称,姓名,性别,年龄 FROM 班级,学生;
WHERE 班级.班级号=学生.班级号;
AND 姓名 LIKE "李%";
ORDER BY 学生.班级号
该语句的含义是( )。
【正确答案】
C
【答案解析】[解析] 该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子句,则更新全部记录。