使用下列数据表。“班级”表班级号 班级名称 人数11 计算机 200801班 4422 计算机 200802班 5033 计算机 200803班 4944 计算机 200804班 4655 计算机 200805班 48“学生”表 学号 姓名 性别 年龄 班级号S1 李志明 男 18 33S2 万力佳 女 19 11S3 李凤 女 20 22S4 赵洪波 男 24 33S5 刘鹏 男 22 44S6 王晓晓 女 20 22S7 张文静 女 22 11S8 汪菁菁 女 19 44S9 刘立洋 男 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不仅有一般的检索功能,而且还有计算方式的检索,利用MAX()函数可以计算指定列中的最大值。本题的SQL语句功能是检索“班级”表中人数最多的班级,将数值输出到数组temp中,其中 INTO ARRAY表示将结果输出到指定的数组中。注意:数组的下标是从1开始的,而不是从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子句,则更新全部记录。