在“成绩”表中,检索选修4门以上课程的男生的姓名和平均成绩。“成绩”表中包含学号、姓名、课

题目

在“成绩”表中,检索选修4门以上课程的男生的姓名和平均成绩。“成绩”表中包含学号、姓名、课程名称和成绩4个字段。请将下面的SQL语句补充完整。

SELECT姓名,AVG(成绩)AS平均成绩FROM成绩;

WHERE性别=”男”:

GROUPBY学号:

__________COUNT(﹡)>=4。

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

第1题:

设有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取反。

第2题:

在成绩表中,检索选修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()函数将及格科目的分数求和。

第3题:

设有表示学生选课的三张表 , 学生 S( 学号 , 姓名 , 性别 , 年龄 , 身份证号 ), 课程 C( 课号 ,名 ), 选 课SC( 学号,课号,成绩 ), 则表 SC 的关键字 ( 键或码 ) 为

A) 课号,成绩 、

B) 学号,成绩

C) 学号,课号

D) 学号,姓名,成绩


正确答案:C

第4题:

设学生表和成绩表的结构分别为(学号,姓名,所在系)和(学号,课程名,成绩),如果希望按分数降序查询出“英语系中选修了计算机课程的学生姓名和成绩”,则对应的SQL语句是()。

A. SELECT姓名,成绩FROM学生表,成绩表WHERE所在系一‘英语系’AND课

程名=‘计算机’AND学生表.学号=课程表,学号

B. SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课

程名=‘计算机’AND学生表.学号=课程表.学号ORDER BY成绩ASC

C. SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课

程名=计算机’AND学生表。学号=课程表。学号ORDER BY成绩

D. SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课

程名=‘计算机’AND学生表.学号一课程表.学号ORDER BY成绩DESC


参考答案D

第5题:

使用如下3个数据库表: 学生表:S(学号,姓名,性别,出生日期,院系) 课程表:C(课程号,课程名,学时) 选课成绩表:SC(学号,课程号,成绩) 在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。用SQL命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是______。

A.SELECT学号,姓名FROM S WHERE NOT EXISTS; (SELECT*FROM SC WHERE SC.学号=S.学号AND成绩<85)

B.SELECT学号,姓名FROM S WHERE NO TEXISTS; (SELECT*FROM SC WHERE SC.学号=S.学号AND成绩>=85)

C.SELECT学号,姓名FROMS,SC; WHERE S.学号=SC.学号AND成绩>=85

D.SELECT学号,姓名FROMS,SC; WHERE S.学号=SC.学号AND ALL成绩>=85


正确答案:A
解析:本题建立的是SELECT—SQL命令的嵌套查询语句s在这个命令中要用到两个SELECT—FROM— WHERE查询块,即内层查询块和外层查询块,通过查询块检索选修的每门课程的成绩都高于或等于85分的记录,即选修的每门课程的成绩中都不存在85分以下的记录。

第6题:

用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为正确答案。

第7题:

设有表示学生选课的3张表,“学生”表S(学号,姓名,性别,年龄,身份证号),“课程”表C(课号,课名),“选课”表SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。

A.课号,成绩

B.学号,成绩

C.学号,课号

D.学号,姓名,成绩


正确答案:C
解析: “选课表”SC是“学生表”S和“课程表”C的映射表,主键是两个表主键的组合。

第8题:

( 10 ) 设有表示学生选课的三张表 , 学生 S( 学号 , 姓名 , 性别 , 年龄 , 身份证号 ), 课程 C( 课号 , 课名 ), 选课 SC( 学号,课号,成绩 ), 则表 SC 的关键字(键或码)为

A) 课号,成绩

B) 学号,成绩

C) 学号,课号

D) 学号,姓名,成绩


正确答案:C

第9题:

使用如下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表示降序。

第10题:

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

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

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

WHERE成绩>=60;

GROUP BY学号;

【 】COUNT(*)>=3


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

更多相关问题