单选题 (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年龄>=20AND性别="男";
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
【答案解析】[解析] 该SQL语句的功能是,检索学生表中姓“李”的学生记录,要求显示该生的班级名称、姓名、性别和年龄,并按“班级号”升序排序。这里的LIKE是字符匹配运算符,“%”是通配符,表示与若干个任意字符匹配;另外,L-EN以使用“-”通配符表示与一个任意字符匹配。ORDER BY是排序短语,默认的排序方式是按升序排序。
单选题 有如下SQL语句:
SELECT班级名称FROM班级WHERE NOT EXISTS;
(SELECT*FROM学生WHERE班级号=班级.班级号)
执行该语句后,班级名称的字段值是( )。
【正确答案】 B
【答案解析】[解析] 该SQL语句的功能是,查找还没有学生记录的班级名称。在“学生”表中暂时还没有“计算机200805班”学生的记录,所以查询结果为“计算机200805班”。EXISTS是谓词,EXISTS或NOTEXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。
单选题 将“学生”表中,所有女学生的“年龄”加1,正确的语句是( )。
【正确答案】 C
【答案解析】[解析] SQL的数据更新命令格式:
UPDATE<表名>SET列名1=表达式1[,列名2=表达式2...]
[WHERE<条件表达式>]
一般使用WHERE子句指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段;如果不使用WHERE子句,则更新全部记录。