求大神给解答一下,非常感谢!
selectsnoas学生ID,(selectscorefromSCwhereCno=101)as计算机组成原理,(selectscorefromSCwhereCno=1...
select sno as 学生ID ,
(select score from SC where Cno=101)as 计算机组成原理 ,
(select score from SC where Cno=102)as 日语,
(select score from SC where Cno=103)as 数据库 ,
COUNT (*)as 有效课程数,AVG(score)as 平均成绩
from SC
group by sno
order by AVG(score) desc这条语句执行的时候 提示(子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的)
为什么用下面的执行就可以 ,语句中的sc.sno=t.sno 起到了什么作用
select sno as 学生ID ,
(select score from SC where sc.sno=t.sno and Cno=101)as 计算机组成原理 ,
(select score from SC where sc.sno=t.sno and Cno=102)as 日语,
(select score from SC where sc.sno=t.sno and Cno=103)as 数据库 ,
COUNT (*)as 有效课程数,AVG(score)as 平均成绩
from SC as t
group by sno
order by AVG(score) desc 展开
(select score from SC where Cno=101)as 计算机组成原理 ,
(select score from SC where Cno=102)as 日语,
(select score from SC where Cno=103)as 数据库 ,
COUNT (*)as 有效课程数,AVG(score)as 平均成绩
from SC
group by sno
order by AVG(score) desc这条语句执行的时候 提示(子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的)
为什么用下面的执行就可以 ,语句中的sc.sno=t.sno 起到了什么作用
select sno as 学生ID ,
(select score from SC where sc.sno=t.sno and Cno=101)as 计算机组成原理 ,
(select score from SC where sc.sno=t.sno and Cno=102)as 日语,
(select score from SC where sc.sno=t.sno and Cno=103)as 数据库 ,
COUNT (*)as 有效课程数,AVG(score)as 平均成绩
from SC as t
group by sno
order by AVG(score) desc 展开
展开全部
我不懂数据库,晓得点点编程,大概跟你解释下:
该数据库中有学号,有课程号,还有分数。
当学号、课程号都指明的时候,分数就是一定的了。
第一部分中,from SC where Cno=101,只是表示从sc中选课程号=101的,那么学生有很多了,所以返回的值不只一个。
第二部分中from SC where sc.sno=t.sno and Cno=101表示查询了学生号=t,课程号=101,这样出来的结果就一个。查出的AVG(score)就是所有学号=t的所有成绩的平均值。
该数据库中有学号,有课程号,还有分数。
当学号、课程号都指明的时候,分数就是一定的了。
第一部分中,from SC where Cno=101,只是表示从sc中选课程号=101的,那么学生有很多了,所以返回的值不只一个。
第二部分中from SC where sc.sno=t.sno and Cno=101表示查询了学生号=t,课程号=101,这样出来的结果就一个。查出的AVG(score)就是所有学号=t的所有成绩的平均值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询