假设同一名称的课程有不同的学生选修和不同的老师教授,则计算每门课程的平均分的SQL语句

题目

假设同一名称的课程有不同的学生选修和不同的老师教授,则计算每门课程的平均分的SQL语句是( )。

A)SELECT 课程名称,AVG(成绩)FROM 课程 GROUP BY 成绩

B)SELECT 课程名称,AVG(成绩)FROM 课程 0RDER BY 成绩

C)SELECT 课程名称,AVG(成绩)FROM 课程 0RDER BY 课程名称

D)SELECT 课程名称,AVG(成绩)FROM 课程 GROUP BY 课程名称

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

第1题:

设有学生选修课程的数据库包含如下

学生表(学号,姓名,年龄,性别,所在系)

选课表(学号,课程号,成绩)

课程表(课程号,课程名称,教师姓名)

请用SQL语言查询下列问题:

1.李明老师所教的课程号、课程名称。

2.年龄大于23岁的女学生的学号和姓名。

3.所有成绩都在80分以上的学生姓名及所在系。

4.至少选修两门以上课程的学生姓名、性别。

5.选修了李明老师所讲课程的学生人数。

6.“操作系统”课程得最高分的学生姓名、性别、所在系。

7.所有课程成绩都在60分以上的学生姓名及所在系。


参考答案:(1)李明老师所教的课程号、课程名称。
select 课程号, 课程名称
from 课程表 where 教师姓名='李明'
(2)年龄大于23岁的女学生的学号和姓名。
select 学号, 姓名 from 学生表
where (性别='女') and (年龄>20)
(3)所有成绩都在80分以上的学生姓名及所在系。
select 姓名, 所在系 from 学生表 where 学号 in
(select distinct 学号from 选课表 where 成绩 >= 80)
(4)至少选修两门以上课程的学生姓名、性别。
Select 姓名, 性别 from 学生表
where 学号 in
(SELECT 学号 FROM 选课表
group by 学号 having count(学号)>1)
(5)选修了李明老师所讲课程的学生人数。
select count(学号)
from 选课表, 课程表
where (选课表.课程号=课程表.课程号) and (教师姓名='李明')
(6)“操作系统”课程得最高分的学生姓名、性别、所在系。
select top 1 学生表.学号, 姓名, 所在系
from 学生表, 选课表, 课程表
where(选课表.学号=学生表.学号) and (选课表.课程号=课程表.课程号)
and (课程名称 = '操作系统')
order by 成绩 desc
(7)所有课程成绩都在60分以上的学生姓名及所在系。
select 姓名, 所在系 from 学生表where 学号 in
(select distinct 学号from 选课表where 成绩 >=60)

第2题:

假设同一名称的课程有不同的学生选修和不同的老师教授,则计算每门课程的平均分的SQL语句是( )。

A)SELECT课程名称,AVG(成绩)FROM课程GROUP BY成绩

B)SELECT课程名称,AVG(成绩)FROM课程ORDER BY成绩

C)SELECT课程名称,AVG(成绩)FROM课程ORDER BY课程名称

D)SELECT课程名称,AVG(成绩)FROM课程GROUP BY课程名称


正确答案:D

第3题:

某班有50名学生,其中15人选修A课程,另外35人选修B课程,从班级中任选两名学生,他们是选修不同课程的学生的概率是______。


正确答案:

第4题:

利用SQL语句统计选修了“日语”课程的学生人数。请将下列的语句补充完整。SELECT______FROM 选课表 WHERE课程名="日语"


正确答案:COUNT(*)
COUNT(*) 解析:SQL不仅有一般的检索功能,而且还有计算方式的检索,用于计算检索的函数见下表。

第5题:

学生表:Student 学生表 (学号,姓名,性别,年龄,组织部门)

Course 课程表 (编号,课程名称)

Sc 选课表 (学号,课程编号,成绩)

表结构如下:

(1).写一个SQL语句,查询选修了’计算机原理’的学生学号和姓名

(2).写一个SQL语句,查询’周星驰’同学选修了的课程名字

(3).写一个SQL语句,查询选修了5门课程的学生学号和姓名


正确答案:

  select sno,sname

  from student

  where sno in (

  select sno

  from sc

  where cno = (

  select cno

  from course

  where cname=计算机原理

  )

  )

  (2)

  select cname

  from course

  where cno in (

  select cno

  from sc

  where sno =

  (

  select sno

  from student

where sname=周星驰

  )

  )

  (3) select sno,sname

  From student

  Where sno in (

  select sno

  from scgroup by sno having count(sno)=5

  )

第6题:

设有关系模式:成绩(学号,课程号,分数),则下列选项中,能正确描述SQL语句 “SELECT’学号FROM成绩GROUP BY 学号HAVING COUNT(*)>3”功能的是

A.查询选修了3门以上课程的学生的学号

B.查询1门课程有3个以上学生选修的学生学号

C.将学生按照学号分成了3组

D.将学生按照课程分成了3组


正确答案:A
解析:GROUP子句将结果按指定列名分组,每个组产生结果表中的一个元组。通常在每组中使用集函数,分组的附加条件用HAVING短语给出,只有满足内部函数表达式的组才能被输出。本题中即按照学号进行分组。

第7题:

( 24 )假设学生可以选修多门课程,一门课程也可以被多名学生选修,则学生和课程之间的联系

A ) 1:1

B ) 1:n

C ) n:1

D ) m:n


正确答案:D

第8题:

设教学数据库中有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#));

第9题:

若有如下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()统计分组后,可以确定每

第10题:

已知表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*”:

更多相关问题