SQL求每个学生平均成绩

student表(学生表)结构:(学号姓名性别年龄系别)course表(课程表)结构:(课程号课程名学分)sc表(选课表)结构:(学号课程号成绩)求每个学生的平均成绩,需... student表(学生表) 结构:(学号 姓名 性别 年龄 系别) course表(课程表) 结构:(课程号 课程名 学分) sc表(选课表)结构:(学号 课程号 成绩) 求每个学生的平均成绩,需要显示的信息(学号 , 姓名 , 课程名 , 平均成绩)。 展开
 我来答
帐号已注销
2021-05-28 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:166万
展开全部

selects,学号,s,姓名,c,课程名,t,平均成绩

fromstudentass

leftjion

selectavg(成绩)as平均成绩,学号

fromscgroupby学号

)astont,学号=s,学号

leftjoinsconsc。学号=s,学号

leftjoincourseasconc。课程号=sc,课程号

功能:

SQL具有数据定义、数据操纵和数据控制的功能。

1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式又叫做视图(View),全局模式简称模式(Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。 

2、SQL数据操纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。

以上内容参考:百度百科-结构化查询语言

suhui2009
推荐于2018-05-07 · TA获得超过163个赞
知道小有建树答主
回答量:382
采纳率:50%
帮助的人:237万
展开全部
select student.学号,student.姓名, course.课程名,(select avg(sc.成绩) from sc where sc.学号=student.学号) as 平均成绩 from student inner join sc on student.学号=sc.学号 inner join course on sc.课程号=course.课程号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Kingboo_cn
2013-05-08
知道答主
回答量:27
采纳率:0%
帮助的人:10.1万
展开全部
这里有个问题,平均成绩平均的是什么,从你说的这个结构看学生,课程,成绩,相当直接和选课表的结构是一样的顶多再从course表(课程表)取了学分乘上,没什么可平均的呀!
如果要扔掉课程,可以得到每个学生所有课程的平均成绩,你是要的这个吗?如果是这问题就很容易了!
追问
恩 是要全部课程的
追答
这个好算:
SELECT T1.学号,T1.姓名,SUM(T2.成绩*T3.学分)/COUNT(DISTINCT T2. 课程号)
FROM student表 T1
LEFT JOIN sc表 T2
ON T1.学号 = T2.学号
LEFT JOIN course表 T3
ON T2.课程号 = T3.课程号
这只是个简单的结构,你看下行不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
finelucky
2013-05-08 · TA获得超过2086个赞
知道小有建树答主
回答量:511
采纳率:46%
帮助的人:252万
展开全部
select sc.学号,student.姓名,course.课程名,avg(sc.成绩) as 平均成绩 from student,course,sc where student.学号=sc.学号 and course.课程号=sc.课程号 group by sc.学号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
安锕静
2020-07-10
知道答主
回答量:12
采纳率:0%
帮助的人:6781
展开全部
我是来找答案的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式