selects,学号,s,姓名,c,课程名,t,平均成绩
fromstudentass
leftjion
(
selectavg(成绩)as平均成绩,学号
fromscgroupby学号
)astont,学号=s,学号
leftjoinsconsc。学号=s,学号
leftjoincourseasconc。课程号=sc,课程号
功能:
SQL具有数据定义、数据操纵和数据控制的功能。
1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式又叫做视图(View),全局模式简称模式(Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。
2、SQL数据操纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。
以上内容参考:百度百科-结构化查询语言
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.课程号
这里有个问题,平均成绩平均的是什么,从你说的这个结构看学生,课程,成绩,相当直接和选课表的结构是一样的顶多再从course表(课程表)取了学分乘上,没什么可平均的呀!
如果要扔掉课程,可以得到每个学生所有课程的平均成绩,你是要的这个吗?如果是这问题就很容易了!
select sc.学号,student.姓名,course.课程名,avg(sc.成绩) as 平均成绩 from student,course,sc where student.学号=sc.学号 and course.课程号=sc.课程号 group by sc.学号
我是来找答案的