计算机二级

检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是______。A.SELECT S#, SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4B.SELECT S#, SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESCC.SEL

题目

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

A.SELECT S#, SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP 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.SELECT S#, SUM(GRADE)FROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S# HAVING COUNT(*)>=4

参考答案和解析
正确答案:B
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

第2题:

检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩降序排列出来,正确的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语句满足要求。

第3题:

设教学数据库中有4个关系:教师关系T(T,TNAME,TITLE)课程关系C(C,CNAME,T)学生关系S(S,SNAME,AGE,SEX)选课关系SC(S,C,SCORE)试用关系代数表达式表示各个查询语句。(1)检索年龄小于17岁的女学生的学号和姓名。(2)检索男学生所学课程的课程号和课程名。(3)检索男学生所学课程的任课老师的职工号和姓名。(4)检索至少选修了两门课程的学生学号。(5)检索至少有学号为S2和S4学生选修的课程的课程号。(6)检索WANG同学不学的课程的课程号。(7)检索全部学生都选修的课程的课程号与课程名。(8)检索选修课程包含LIU老师所授全部课程的学生学号。


①检索年龄小于17岁的女学生的学号和姓名。
SELECT S#.SNAME FROM S
WHERE AGE<17 AND SEX=’F’
②检索男学生所学课程的课程号和课程名。
SELECT C.C#,CNAME (连接查询方式) FROM S,SC,C
WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=’M’;
③检索男学生所学课程的任课老师的工号和姓名。
SELECT T.T#, TNAME FROM S,SC,C,T
WHERE S.S#=SC.S# AND SC.C#=C.C# AND C.T#=T.T# AND SEX=’M’;
④检索至少选修两门课程的学生学号。
SELECT DISTINCT X.S# FROM SC AS X, SC AS Y
WHERE X.S#=Y.S# AND X.C#!=Y.C#;
⑤检索至少有学号为S2和S4的学生选修的课程的课程号。
SELECT DISTINCT X.C# FROM SC AS X, SC AS Y
WHERE X.S#=’S2’ AND Y.S#=’S4’ AND X.C#=Y.C#;
⑥检索WANG同学不学的课程的课程号。
SELECT C# FROM C
WHERE NOT EXISTS (SELECT * FROM S, SC
WHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME=’WANG’);
⑦检索全部学生都选修的课程的课程号与课程名。
SELECT C#,CNAME FROM C
WHERE NOT EXISTS (SELECT * FROM S
WHERE NOT EXISTS (SELECT * FROM SC
WHERE S#=S.S# AND C#=C.C#));
⑧检索选修课程包含LIU老师所授全部课程的学生学号。
法一:
SELECT DISTINCT S# FROM SC AS X
WHERE NOT EXISTS (SELECT * FROM C,T
WHERE C.T#=T.T# AND TNAME=’LIU’
AND NOT EXISTS (SELECT{
FROM SC AS Y
WHERE Y.S#=X.S# AND Y.C#=C.C#));
法二:
SELECT DISTINCT S# FROM SC X
WHERE NOT EXISTS ((SELECT C# FROM C,T
WHERE C.T#=T.T# AND TNAME=‘LIU’) EXCEPT
(SELECT C# FROM SC Y WHERE Y.S#=X.S#));

第4题:

考试违规需重修的学生,需按规定完成重修课程各环节学习任务,取得课程平时总成绩()以上者方能参加课程期末考试。

A.60%

B.65%

C.55%

D.50%


正确答案:A

第5题:

已知表S(学号,姓名,年龄)

SC(学号,课程号,成绩)

C(课程号,课程名,教师名)

试用SQL查询语句表达下列对教学数据库中的三个基本表S、SC、C的查询:

(1)统计有学生选修的课程门数.

(2)求选修C4课程的学生的平均年龄.

(3)求王平老师所授课程的每门课程的学生平均成绩.

(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数.

(5)查询姓名以WANG开头的所有学生的姓名和年龄.


正确答案:
(1)SELECT  COUNT(DISTINCT课程号)
      ROM  SC;
(2)SELECT  AVG(年龄)
      FROM  S,SC
      WHERE课程号=“C4”AND S.学号=SC.
      学号;
(3)SELECTSC.课程号,课程名,AVG(成绩)
      FROM  SC,C
      WHERE  SC.课程号=C.课程号AND
      C.教师名=“王平”
       GROUP  BY  SC.课程号;
(4)SELECT课程号,COUNT(学号)
       FROM  SC
      GROUP  BY课程号
       HAVING  COUNT(*)>10;
(5)SELECT 姓名,年龄
        FROM  S
       WHERE 姓名 LIKE“WANG*”:

第6题:

检索选修课程包含学号为2且年龄小于20的学生所修全部课程的课程号。


正确答案:ПCNUM(ПSNUM(σSNUM='2'(S)σAGE<'20'(S))ПSNUMCNUM(SC))
ПCNUM(ПSNUM(σSNUM='2'(S)σAGE<'20'(S))ПSNUM,CNUM(SC))

第7题:

若有如下SQL查询语句: SELECT课程名称,开课系名,COUNT(学号)AS选修人数; FROM成绩,课程; WHERE课程.课程编号=成绩.课程编号; GROUP BY课程名称; HAVING COUNT(*)>3 上述语句所表示的含义是( )。

A.检索开课在3门以上的开课系名、课程名称和选修人数

B.检索选修了3门课程以上的学生记录,显示结果包括课程名称、开课系名和选修人数

C.检索每门课程中,有3人以上选修该课程的记录,显示结果包括课程名称、开课系名和选修人数

D.检索选修人数最多的3门课程的记录,显示结果包括课程名称、开课系名和选修人数


正确答案:C
解析:在分组与计算查询语句中,使用HAVING子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中。当WHERE子句、GROUP BY子句和HAVING子句同时出现的时候,首先执行WHERE子句,从表中选择符合条件的行:然后由GROUP BY子句对选取的行进行分组;再执行计算函数;最后执行HAVING子句选取满足条件的分组。本题中,WHERE子句中指定的是两表连接的条件:接着通过GROUP BY子句指明按“课程名称”对记录分组;然后执行函数COUNT()统计分组后,可以确定每

第8题:

统计只有2名以下(含2名)学生选修的课程情况,统计结果中的信息包括课程名称、开课院系和选修人数,并按选课人数排序。正确的命令是A)SELECT课程名称,开课院系,COUNT(课程编号)AS选修人数; FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号; GROUP BY学生成绩.课程编号HAVING COUNT(*)<=2; ORDER BY COUNT(课程编号)B)SELECT课程名称,开课院系,COUNT(学号)选修人数; FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号; GROUP BY学生成绩.学号HAVING COUNT(*)<=2; ORDER BY COUNT(学号)C)SELECT课程名称,开课院系,COUNT(学号)AS选修人数; FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号; GROUPBY课程名称HAVING COUNT(学号)<=2; ORDER BY选修人数D)SELECT课程名称,开课院系,COUNT(学号)AS选修人数; FROM学生成绩,课程HAVING COUNT(课程编号)<=2; GROUP BY课程名称 ORDER BY选修人数


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

第9题:

学生参加考试后如果课程总成绩没通过,可重新预约参加下次考试。()

此题为判断题(对,错)。


参考答案:×

第10题:

本学期某高校行政管理专业开设了5门选修课程,要求每位学生至少选修2门,结果发现,有的学生选修了全部课程。据此,可以推出:

A.有的课程没有学生选修

B.有的学生选修了3门课程

C.所有学生都选修了某门课程

D.所有课程都有学生选修


正确答案:D
考查直言命题推理。根据有的学生选修了全部课程,换位推理可得,所有课程都有学生选修,即D项。

更多相关问题