计算机二级

用SQL语言检索选修课程在5门以上(含5门)的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是A.SELECT S.学号,姓名,平均成绩FROM S,SC; WHERE S.学号=SC.学号; GROUP BY S.学号 HAVING COUNT(*)>=5 ORDER BY 平均成绩 DESCB. SELECT 学号,姓名,AVG(成绩)FROM S,SC; WHERE S.学号=SC.学号AND COUNT(*)>=5; GROUP BY 学号 ORDER BY 3 DESCC.SELECT

题目

用SQL语言检索选修课程在5门以上(含5门)的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是

A.SELECT S.学号,姓名,平均成绩FROM S,SC; WHERE S.学号=SC.学号; GROUP BY S.学号 HAVING COUNT(*)>=5 ORDER BY 平均成绩 DESC

B. SELECT 学号,姓名,AVG(成绩)FROM S,SC; WHERE S.学号=SC.学号AND COUNT(*)>=5; GROUP BY 学号 ORDER BY 3 DESC

C.SELECT S.学号,姓名,AVG(成绩)平均成绩 FROM S,SC; WHERE S.学号=SC.学号AND COUNT(*)>=5; GROUP BY S.学号 ORDER BY平均成绩 DESC

D.SELECT S.学号,姓名,AVG(成绩)平均成绩 FROM S,SC; WHERE S.学号;SC,学号; GROUP BY S.学号 HAVING COUNT(*)>=5 ORDER BY 3 DESC

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

第1题:

用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是A)SELECT S.学号,姓名,平均成绩FROM S,SC; WHERE S.学号=SC.学号; GROUP BY S.学号HAVING GOUNT(*)>=5 ORDER BY平均成绩DESCB)SELECT学号,姓名,AVG(成绩)FROM S,SC; WHERE S.学号SC.学号AND COUNT(*)>=5; GROUP BY学号ORDER BY 3 DESCC)SELECT S.学号,姓名,AVG(成绩)平均成绩FROM S,SC; WHERE S.学号=SC.学号AND COUNT(*)>=5; GROUP BY S.学号ORDER BY平均成绩DESCD)SELECT S.学号,姓名,AVG(成绩)平均成绩FROM S,SC; WHERE S.学号=SC.学号; GROUP BY S.学号HAVING COUNT(*)=5 ORDER BY 3 DESC


正确答案:D
本题考查使用COUNT()函数来构造复杂查询,显示”平均成绩”不是表中字段,不能直接显示,用函数来实现表示方法为:AVG(成绩)平均成绩。因选项A,选项B表示错误可排除;在查询中是先用WHERE子句限定元组,然后进行分组,最后再用HAVING子句限定分组,也就是说先写WHERE子句,然后是GROUP,最后用HAVING子句对GROUP分组限定条件。选项C这两个选项中错误在于COUNT(*)>=5分组限定条件写在WHERE之后。故选项D为正确答案。

第2题:

使用如下3个数据库表: 学生表:S(学号,姓名,性别,出生日期,院系) 课程表:C(课程号,课程名,学时) 选课成绩表:SC(学号,课程号,成绩) 在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是______。

A.SELECTS.学号,姓名,平均成绩FROM S,SC; WHERE S.学号=SC.学号; GROUP BY S.学号HAVING COUNT(*)>=5 ORDER BY平均成绩DESC

B.SELECT学号,姓名,AVG(成绩)FROMS,SC; WHERE S.学号=SC.学号AND COUNT(*)>=5; GROUP BY学号ORDER BY 3 DESC

C.SELECTS.学号,姓名,AVG(成绩)平均成绩FROM S,SC; WHERE S.学号;SC.学号AND COUNT(*)>=5; GROUP BY S.学号ORDER BY平均成绩DESC

D.SELECTS.学号,姓名,AVG(成绩)平均成绩FROMS,SC, WHERE S.学号:SC.学号; GROUP BYS.学号HAVING COUNT(*)7=5 ORDER BY 3 DESC


正确答案:D
解析:Visual FoxPro的SELECT—SQL命令的一般语法格式如下:
   SELECT[ALL|DISTINCT]目标列表达式>[,目标列表达式>]…
   FROM基本表(或视图)>[,基本表(或视图)>]…
   [WHERE条件表达式>]
   [GROUPBY列名1>[HAVING内部函数表达式>))
   [ORDERBY列名2>[ASC|DESC]];
说明:
①SELECT子句:ALL表示选出的记录中包括重复记录,这是缺省值;DISTINCT则表示选出的记录中不包括重复记录。
②FROM子句及其选项:用于指定查询的表,可以对单个表或多个表进行查询。
③WHERE子句:说明查询条件,即筛选元组的条件。
④GROUP BY子句:对记录按列名1>值分组,常用于分组统计。
⑤HAVING子句:当含有GROUP BY子句时,HAVING子句可用作记录查询的限制条件;无GROUP BY子句时HAVING子句的作用如同WHERE子句。
⑥ORDER BY子句:指定查询结果中记录按列名2>排序,默认升序。选项ASC表示升序,DESC表示降序。

第3题:

用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是( )。

A.SELECT S.学号,姓名,平均成绩 FROM S,SC;

WHERE S.学号=SC.学号;

GROUP BY S.学号 HAVING COUNT(*)>=5 ORDER BY 平均成绩 DESC

B.SELECT 学号,姓名,AVG(成绩) FROM S,SC;

WHERE S.学号=SC.学号AND COUNT(*)>=5;

GROUP BY 学号 ORDER BY 3 DESC

C.SELECT S.学号,姓名,AVG(成绩) 平均成绩 FROM S,SC;

WHERE S.学号=SC.学号AND COUNT(*)>=5;

GROUP BY S.学号 ORDER BY 平均成绩 DESC

D.SELECT S.学号,姓名,AVG(成绩) 平均成绩 FROM S,SC;

WHERE S.学号=SC.学号;

GROUP BY S.学号 HAVING COUNT(*)>=5 ORDER BY 3 DESC


正确答案:D

第4题:

设有SC (学号,课程号,成绩)表,下面SQL的SELECT语句检索成绩高于或等于平均成绩的学生的学号。

SELECT 学号 FROM sc

WHERE 成绩>=(SELECT【 】FROM sc)


正确答案:AVG(成绩)
AVG(成绩) 解析:检索成绩高于或等于平均成绩的学生的学号,首先应计算出SC表中的学生的平均成绩再找出成绩高于或等于平均成绩的学生的学号,计算平均成绩应使用AVG()函数,所以可以使用命令:SELECT学号FROM sc WHERE成绩>=(SELECT AVG(成绩)FROM sc) 。

第5题:

在成绩表中,检索选修3门以上课程的学生的及格学科的总成绩。成绩表中包含学号、姓名、课程名和成绩4个字段。

请将下面的SQL语句补充完整。

SELECT学号,SUM(成绩)FROM【 】;

WHERE成绩>=60;

GROUP BY学号;

【 】COUNT(*)>=3


正确答案:【 】成绩表【 】HAVING
【 】成绩表【 】HAVING 解析:本题中,根据学号将学生记录分组,然后利用SQL的统计函数COUNT(),统计选修3门课程以上的学生记录,并利用SUM()函数将及格科目的分数求和。

第6题:

在成绩表中,检索选修3门以上课程的学生及格学科的总成绩。成绩表中包含学号、姓名、课程名和成绩4个字段。请将下列SQL语句补充完整。SELECT 学号,SUM(成绩) FROM 成绩表; WHERE 成绩>=60; GROUP BY 学号; ______COUNT(*)>=3


正确答案:HAVING
HAVING 解析:在实际的应用中,除了简单的计算查询外,我们还可以加上GROUP BY子句进行分组计算查询。
通常来说,一个计算函数的范围是满足WHERE子句指定条件的所有记录。当加上GROUP BY子句后,系统会将查询结果按指定列分成集合组。当一个计算函数和一个GROUP BY子句一起使用时,计算函数的范围变为每组所有的记录。也就是说,一个结果是由组成一组的每个记录集合产生的。
另外,使用HAVING子句可以对这些组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中。
本题中,根据学号将学生记录分组,然后利用SQL的统计函数COUNT(),统计选修3门课程以上的学生记录,并利用SUM()函数将及格科目的分数求和。

第7题:

计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是 ______。

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

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

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

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


正确答案:D
解析:此小题中各个选项解释如下:选项A错误,此查询只选择了“选课”表,但在“选课”表中并没有“姓名”字段。选项B与选项C错误,此查询进行了两个表的联合查询,但没有根据关键字将两个表连接起来。选项D正确。

第8题:

设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,下面SQL的SELECT语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。SELECT 学号,姓名,性别 FROM sWHERE ___ (SELECT * FROM sc WHERE sc.学号=s.学号 AND 成绩<85)


正确答案:NOT EXISTS
本题考查SQL查询语句的使用。在SQL中,括号内SELECT*FROM sc WHERE sc.学号=5.学号AND成绩<85表示是每门课成绩都小于85分的学生,要检索成绩高于或等于85分,NOT EXISTS取反。

第9题:

在关系Student(学号,姓名,系名,课程号,成绩)中,查询至少选修了四门课程的学生学号、姓名及平均成绩的SElECT语句应该是:

SELECT学号,姓名,AVC((254))AS平均成绩

FROM Student

CROUP BY学号

HAVING (255)

A.成绩

B.姓名

C.系名

D.课程号


正确答案:A

第10题:

设有学生选课表SC(学号,课程号,成绩),用SQL语言检索每门课程的课程号及平均分的语句是(关键词必须拼写完整): SELECT课程号,AVG(成绩)FROM SC【 】。


正确答案:GROUP BY 课程号
GROUP BY 课程号 解析:本题要求检索每门课程的课程号及平均分,即按照课程号进行分组,统计各个课程的平均成绩。

更多相关问题