电子信息

求选课在3门以上且各门课程均及格的学生的学号及总成绩,查询结果按总成绩降序排列。请对下列的SELECT语句填空: SELECT学号,SUM(成绩) AS 总成绩 FROM 选课表; WHERE 成绩>=60【 】ORDER BY【 】DESC

题目

求选课在3门以上且各门课程均及格的学生的学号及总成绩,查询结果按总成绩降序排列。请对下列的SELECT语句填空: SELECT学号,SUM(成绩) AS 总成绩 FROM 选课表; WHERE 成绩>=60【 】ORDER BY【 】DESC

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

第1题:

要从选课表(学号、课程号、成绩)中查询选修了3门以上课程的学生学号,应使用的SELECT-SQL语句是______。

A.SELECT学号FROM选课表WHERECOUNT(*)>=3

B.SELECT学号FROM选课表HAVINGCOUNT(*)>=3

C.SELECT学号FROM选课表GROUPBY学号HAVINGCOUNT(*)>=3

D.SELECT学号FROM选课表GROUPBY学号WHERECOUNT(*)>=3


正确答案:C
解析:在选课表中,要查询每个学生选修了多少门课程,就应该有按学号的分组语句,如果在查询中对分组后的记录还有一定的限制,就要使用HAVING短语。选项A没有分组语句;选项B也没有分组语句,特别要指出的是,HAVING短语必须跟在GROUP之后;选项C是先按学号进行分组,然后选出分组后记录数大于3的记录,满足了本题的条件;选项D中GROUP后跟的条件语句不正确。

第2题:

设选课表的结构为:(学号、课程号、成绩),其中学号十课程号为主键。若要找出成绩不为空的记录,应当使用的SELECT-SQL语句是______。

A.SELECT*FROM选课表WHERE成绩IS""

B.SELECT*FROM选课表WHERE成绩=0

C.SELECT*FROM选课表WHERE成绩<>NULL

D.SELECT*FROM选课表WHERE成绩ISNOTNULL


正确答案:D
解析:某个字段没有值称为空值(NULL)。通常没有为一个字段输入值时,该字段的值就是空值。空值不同于零和空格,它不占任何存储空间。例如某些学生选修了课程但没有参加考试,就会造成数据表中有选课记录,但没有考试成绩,这与参加考试,成绩为零分是不同的。在本题中选项A和B将空值作为空格和零是错误的,在选项C中用“成绩>NULL”来表示成绩不为空,也是错误的,空值的条件为“ISNULL”,非空值的条件为“ISNOTNULL”,而不能把空值的条件写为“=NULL”,非空值的条件写为“>NULL”。故选项D正确。

第3题:

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

第4题:

要从选课表(学号、课程号、成绩)中查询选修了三门课程以上的学生学号,应使用的SELECT-SQL语句是

A.SELECT学号FROM选课表WHERE COUNT(*)>=3

B.SELECT学号FROM选课表HAVING COUNT(*)>=3

C.SELECT学号FROM选课表GROUP BY学号HAVING COUNT(*)>=3

D.SELECT学号FROM选课表GROUP BY学号WHERE COUNT(*)>=3


正确答案:C
解析:在选课表中,要查每个学生选修了多少门课程,就应该有按学号的分组语句,如果在查询中对分组后的记录还有一定的限制,就要使用HAVING短语。

第5题:

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

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

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

WHERE成绩>=60;

GROUP BY学号;

【 】COUNT(*)>=3


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

第6题:

根据选课表(学号、课程号、成绩)进行下列查询;SELECT学号,SUM(成绩)AS总分FROM选课表WHERE(学号=“C1011101”)GROUPBY学号UNIONSELECT学号,SUM(成绩)AS总分FROM选课表WHERE(学号=“C1011102”)GROUPBY学号使用的是______。

A.合并查询

B.外连接查询

C.自身连接查询

D.子查询


正确答案:A
解析:从选课表中查询出学号为“C1011101”的学生的学号和总分,再从选课表中查询出学号为“C1011102”的学生的学号和总分,然后将两个查询结果合并成一个结果集。其中使用了合并查询,合并查询就是使用UNION操作符将来自不同查询的数据组合起来,形成一个具有综合信息的查询结果。UNION会自动将重复的数据行剔除。注意:参加合并查询的各子查询中使用的表结构应该相同,即各子查询中的数据数目和对应的数据类型都必须相同,故选项A正确。由于该查询中只有一个数据表(选课表),没有用到多表的查询,所以选项B和D错误;该查询也没有使用到自身连接查询,故选项C错误,

第7题:

查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是 ______。

A.SELECT 学生.学号,姓名FROM 学生,选课WHERE 学生.学号=选课.学号 AND 课程号=“101” AND 成绩>=ALL (SELECT 成绩 FROM 选课)

B.SELECT 学生.学号,姓名FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=“101”)

C.SELECT 学生. 学号,姓名 FROM 学生,选课 WHERE 学生. 学号=选课.学号 AND 成绩>=ANY (SELECT 成绩 FROM 选课 WHERE 选课号=“101”)

D.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=“101”AND 成绩>= ALL(SELECT 成绩 FROM 选课 WHERE课程号=“101”)


正确答案:D
解析:选项A中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选择错误。
选项B中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。
选项C中的查陶并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于任意“101”科目成绩的记录,此查询将查询出错误的结果,此选项错误。

第8题:

检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩降序排列出来,正确的SELECT语句是______。

A.SELECT S#,SUM(GRADE)FROM SC WHERE GRADE>=60 CROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4

B.SELECT S#,SUM(GRADE)FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC

C.SELECT S#,SUM(GRADE)FROM SC WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S# ORDER BY 2 DESC

D.DELECT S#,SUM(GRADE)FROM SC WHERE GRADE>=60 ORDER BY 2 DESC CROUP BY S# HAVING COUNT(*)>=4


正确答案:B
解析:本题的要求是检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。所需要的表只有SC表,并且需要求总成绩,这就应该用到Sum子句,还需要按照总成绩的降序排列,因此还需要利用ORDER BY子句,同时要将同一个学生的选修记录排列在一起,因此根据以上分析选项B的SQL语句满足要求。

第9题:

要在学生选课表中查询所有2号课程的选课记录,并将查询结果按成绩升序排列,则可以使用的SQL语句是“SELECT * FROM 学生选课 WHERE 课程号="2" ORDER BY ()”

A. 成绩

B. 成绩 DESC

C. 成绩 ASC

D. 100-成绩 DESC


正确答案:ACD

第10题:

若要查询选修课(学号、课程号、成绩)成绩在80分以上的女生的姓名,应使用的SELECT语句是 ______。

A.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别=“女”.AND.成绩>=80

B.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别=“女”.OR.成绩>=80

C.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别=“女”.OR.成绩>=80

D. SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别=“女”.AND.成绩>=80


正确答案:D
解析:本查询是在学生表和选课表之间进行的,在语句中应有表的连接条件和记录的筛选条件,在4个选项中的表连接条件都是相同的,也是正确的,不同之处是连接条件和筛选条件之间的逻辑运算符的使用,在语句中只要使用了逻辑运算符OR就都不符合题意要求,正确答案应为选项D。

更多相关问题