使用如下三个数据库表,回答下列各题: 学生(学号C(8),姓名C(8),性别C(2),班级C(8)) 课程(课程编号

题目

使用如下三个数据库表,回答下列各题: 学生(学号C(8),姓名C(8),性别C(2),班级C(8)) 课程(课程编号C(8),课程名称C(20)) 成绩(学号C(8),课程编号C(8),成绩N(5,1)) {TS}查询每门课程的最高分,要求得到的信息包括课程名和最高分,正确的命令是( )。

A. SELECT课程.课程名称,MAX(成绩)AS最高分FROM成绩,课程; WHERE成绩.课程编号=课程.课程编号; GROUP BY课程.课程编号

B. SELECT课程.课程名称,MAX(成绩)As最高分FROM成绩,课程; WHERE成绩.课程编号=课程.课程编号; GROUP BY课程编号

C. SELECT课程.课程名称,MIN(成绩)AS最高分FROM成绩,课程; WHERE成绩.课程编号=课程.课程编号; GROUP BY课程.课程编号

D. SELECT课程.课程名称,MIN(成绩)AS最高分FROM成绩,课程; WHERE成绩.课程编号=课程.课程编号; GROUP BY课程编号

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下3题使用如下的3个数据表: 学生、课程和成绩。 学生(学号 C(8),姓名 C(8),性别 C(2),班级 C(8)) 课程(课程编号 C(8),课程名称 C(20)) 成绩(学号 C(8),课程编号 C(8),成绩 N(5,1))

查询所有选修了"计算机基础"的学生的"计算机基础"成绩,要求得到的信息包括学生姓名和成绩,并按成绩由高到低的顺序排列,下列语句正确的是


正确答案:D
本小题为多表联接查询,注意每两个表之间进行关联的关键字,利用ORDERBY短语可以对查询结果进行排序,降序关键字为DESC。选项A)和选项B)中缺少数据表文件。选项C)中,GROUPBY短语使用错误,将查询结果进行排序的短语是ORDERBY。

第2题:

学生.DBF:学号C(8),姓名C(12),性别C(2),出生日期D,院系C(8)

课程.DBF:课程编号C(4),课程名称C(10),开课院系C(8)

学生成绩.DBF:学号C(8),课程编号C(4),成绩Ⅰ

统计只有2名以下(含2名)学生选修的课程情况.统计结果中的信息包括课程名称、

开课院系和选修人数,并按选课人数排序,正确的命令是


正确答案:C
统计人数可以使用C()UNT()函数。在本题中由于学号是唯一的。因而统计人数就可以通过统计学生学号的个数来实现,四个选项中可以排除A、B两个选项,这两个语句都缺少按选修人数进行排序的子旬.选项D的错误在于没有没定查询条件,故选项C正确。

第3题:

第下列各题使用如下数据表。 学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D) 选课.DBF:学号(c,8),课程号(C,3),成绩(N,5,1) 计算刘明同学选修的所有课程的平均成绩,正确的SQL 语句是( )。

A.SELECT AVG(成绩)FROM选课WHERE姓名=”刘明“

B.SELECT AVG(成绩)FRM学生,选课WHERE姓名=”刘明”

C.SELECT AVG(成绩)FROM学生,选课WHERE学生.姓名=”刘明”

D.SELECT AVG(成绩)FROM学生,选课WHERE学生.学号=选课.学号AND姓名=”刘明”


正确答案:D
题中以“学生.学号一选课.学号”为连接条件,以“姓名一”刘明””为筛选记录的条件,同时用AND进行连接,并用AVG函数求得指定字段的平均值。

第4题:

第下列各题中使用如下数据表。 “学生”表:学号C(8),姓名C(8),性别c(2),系名(6) “课程”表:课程编号C(4),课程名称c(12),开课系名C(10) “成绩”表:学号c(8),课程编号c(4),成绩N(6,2) 检索每门课程的最高分,要求得到的信息包括课程名称、姓名和最高分,正确的SQL语句是( )。

A.SELECT课程.课程名称,学生.姓名,MAX(成绩). As最高分 FROM成绩,课程,学生 WHERE成绩.课程编号=课程.课程编号 AND成绩.学号=学生.学号 GROUP BY课程编号

B.SELECT课程.课程名称,学生.姓名,MAX(成绩) AS最高分 FROM成绩,课程,学生 wHERE成绩.课程编号=课程.课程编号 AND成绩.学号=学生.学号 GROUP BY课程.课程编号

C.SELECT课程.课程名称,学生.姓名.MAX(成绩) AS.最高分 FROM成绩,课程,学生 WHERE成绩.课程编号=课程.课程编号 AND成绩.学号=学生.学号 ORDER BY课程.课程编号

D.SELECT课程.课程名称,学生.姓名.MAX(成绩) AS最高分 FROM成绩,课程,学生 WHERE成绩.课程编号=课程.课程编号 AND成绩.学号=学生.!学号 ORDER BY课程.课程编号


正确答案:B
本题中首先通过GROUl’BY短语将“课程”表中的记录按“课程编号”分组,然后通过MAX函数求出每组中的最高成绩,即每门课程的最高成绩。由于查询输出结果涉及多个表的字段,因此要使用连接查询,表之间的连接条件放在WHERE短语中,AND用来连接两个连接条件,以保证在查询的三个表之间建立联系。

第5题:

回答下列各题: 基于学生表S和学生选课表SC两个数据库表,它们的结构如下: S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段; SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段。 {TS}查询学生选修课程成绩75分以上的学生学号,正确的SQL语句是( )。

A. SELECT DISTINCT学号FROM SC WHERE”成绩”>75

B. SELECT DISTINCT学号FROM SC WHERE成绩>75

C. SELECT DISTINCT学号FROM SC WHERE成绩>”75”

D. SELECT DISTINCT”学号”FROM SC WHERE”成绩”>75


正确答案:B
在WHERE条件中成绩不需要用引号括起来,因此A和D排除,成绩是数值型字段,因此750也不需要加双引号,故选项C也错误。

第6题:

使用如下三个数据库表: 学生(学号C(8),姓名C(8),性别C(2),班级C(8)) 课程(课程编号C(8),课程名称C(20)) 成绩(学号C(8),课程编号C(8),成绩N(5,1)) 查询所有选修了“高等数学”的学生的“相关”成绩,要求信息中包括学生姓名和成绩,并按成绩由低到高的顺序排列,下列语句正确的是( )。

A. SELECT学生.姓名,成绩.成绩FROM学生,成绩; WHERE学生.学号=成绩.学号; AND课程.课程名称=’高等数学’; ORDER BY成绩.成绩ASC

B. SELECT学生.姓名,成绩.成绩FROM课程,成绩; WHERE AND课程.课程编号=成绩.课程编号; AND课程.课程名称=’高等数学’; ORDER BY成绩.成绩ASC

C. SELECT学生.姓名,成绩.成绩FROM学生,课程,成绩; WHERE学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称=’高等数学’; GROUP BY成绩.成绩ASC

D. SELECT学生.姓名,成绩.成绩FROM学生,课程,成绩; WHERE学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称=’高等数学’; ORDER BY成绩.成绩ASC


正确答案:D
本小题为多表连接查询,注意每两个表之间进行关联的关键字,利用ORDER BY短语可以对查询结果进行排序,升序关键字为ASC。选项A和选项B中缺少数据表文件。选项C中,GROUP BY短语使用错误,将查询结果进行排序的短语是0RDER BY。

第7题:

使用如下的3个数据表:学生、课程和成绩。

学生(学号 C(8),姓名 C(8),性别 C(2),班级 C(8))

课程(课程编号 C(8),课程名称 C(20))

成绩(学号 C(8),课程编号 C(8),成绩 N(5,1))

查询每门课程的最高分,要求得到的信息包括课程名和最高分,正确的命令是

A.SELECT 课程.课程名称, MAX(成绩) AS 最高分 FROM 成绩,课程; WHERE 成绩.课程编号 = 课程.课程编号; GROUP BY 课程.课程编号

B.SELECT 课程.课程名称, MAX(成绩) AS 最高分 FROM 成绩,课程; WHERE 成绩.课程编号 = 课程.课程编号; GROUP BY 课程编号

C.SELECT 课程.课程名称, MIN(成绩) AS 最高分 FROM 成绩,课程; WHERE 成绩.课程编号 = 课程.课程编号; GROUP BY 课程.课程编号

D.SELECT 课程.课程名称, MIN(成绩) AS 最高分 FROM 成绩,课程; WHERE 成绩.课程编号 = 课程.课程编号; GROUP BY 课程编号


正确答案:A
解析:求最大值要利用MAX函数。要查询每门中的最高分,需要对课程进行分组。由于课程名称可能出现重名,因此分组依据为课程编号,且注意记录的惟一性,利用AS短语。可将"成绩"字段名重新命名为"最高分"作为新的字段名,用于显示查询结果。选项B)的分组条件中,没有指定从哪个表中进行记录分组,因此系统报错。选项C)和选项D)的计算函数使用错误。

第8题:

到(35)题使用如下数据表。

学生”表:学号C(8),姓名C(8),性别C(2),系名(10),出生日期D

“课程”表:课程编号C(4),课程名称C(12),开课系名C(10)

“成绩”表:学号C(8),课程编号C(4),成绩I

检索每门课程的总分,查询结果中包括课程名和总分,正确的语句是( )。

A.SELECT课程名称,COUNT(成绩)AS总分FROM课程,成绩; WHERE课程.课程编号=成绩.课程编号; ORDER BY成绩.课程编号

B.SELECT课程名称,COUNT(成绩)AS总分FROM课程,成绩; WHERE课程.课程编号=成绩.课程编号; GROUP BY成绩.课程编号

C.SELECT课程名称,SUM(成绩)AS总分FROM课程,成绩; WHERE课程.课程编号=成绩.课程编号; ORDERBY成绩.课程编号

D.SELECT课程名称,SUM(成绩)AS总分FROM课程,成绩; WHERE课程.课程编号=成绩.课程编号; GROUP BY成绩.课程编号


正确答案:D
解析:进行SQL简单计算查询时,还可以加上GROUP BY子句进行分组计算查询。
通常来说,一个计算函数的范围是满足WHERE子句指定条件的所有记录。当加上GROUP BY子句后,系统会将查询结果按指定列分成集合组。当一个计算函数和一个GROUP BY子句一起使用时,计算函数的范围变为每组所有的记录。
本题通过“GROUP BY成绩.课程编号”可以先将记录按“课程编号”分组,然后再通过函数“SUM(成绩)AS总分”对每组记录求和。其中,通过AS短语可以对进行计算的字段指定一个新的字段名。另外,COUNT()函数

第9题:

~(35)题使用如下三个表: 学生.DBF:学号C(8),姓名C(12),性别C(2),出生日期D,院系C(8) 课程.DBF:课程编号C(4),课程名称C(10),开课院系C(8) 学生成绩.DBF:学号C(8),课程编号C(4),成绩I(32)查询每门课程的最高分,要求得到的信息包括课程名称和分数。正确的命令是A)SELECT课程名称,SUM(成绩)AS分数FROM课程,学生成绩; WHERE课程.课程编号=学生成绩.课程编号; GROUP BY课程名称B)SELECT课程名称,MAX(成绩)分数FROM课程,学生成绩;WHERE课程.课程编号=学生成绩.课程编号; GROUP BY课程名称C)SELECT课程名称,SUM(成绩)分数FROM课程,学生成绩; WHERE课程.课程编号二学生成绩.课程编号; GROUP BY课程.课程编号D)SELECT课程名称,MAX(成绩)AS分数FROM课程,学生成绩; WHERE课程.课程编号=学生成绩.课程编号; GROUP BY课程编号


正确答案:B
本题考查使用MAX()函数构造SQL查询。使用SQL查询课程的最高分,可以用MAX()函数来实现。由于查询的是每门课程的最高分,所以需要按照课程名称进行分组,故选项B正确。选项A的错误在于查询结果由SUM(成绩)构成,是对分组后的成绩进行了求和,选项C也是同样的错误,选项D错误在于AS子句后只有一个字段名,而查询结果字段有两个,无法匹配,也是错误的。