MYSQL 多表查询

jingxi1000 2009-06-07 03:34:58
学生表里有张三,李四 课程表里有数学,语文,历史 (成绩是随便的)


查询每个学生的每个科目的平均成绩


create table xb(学生表)
(
xid(学生编号) int(5) auto_increment primary key,
xnm(学生姓名) varchar(10) not null
)type=innodb


create table kb(课程表)
(
kid(课程编号) int(5) auto_increment primary key,
knm(课程名称) varchar(10) not null
)type=innodb


create table zhb(组合表)
(
xid(学生编号) int(5),
kid(课程编号) int(5),
ksj(考试时间) datetime,
kcj(考试成绩) smallint,
foreign key(xid) references xb(xid),
foreign key(kid) references kb(kid),
primary key(xid,kid,ksj)
)type=innodb
...全文
28 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
claro 2009-06-07
  • 打赏
  • 举报
回复
select
b.xid AS 学生
,c.knm AS 科目
,AVG(a.kcj) AS 平均成绩
from zhb a
join xb b on a.xid=b.xid
join kb c on a.kid=c.kid
group by b.xid,c.knm
claro 2009-06-07
  • 打赏
  • 举报
回复
[code=SQL][/cselect
b.xid AS 学生
,c.knm AS 科目
,AVG(a.kcj) AS 平均成绩
from zhb a
join xb b on a.xid=b.xid
join kb c on a.kid=c.kid
group by b.xid,c.knm
ode]
ACMAIN_CHM 2009-06-07
  • 打赏
  • 举报
回复

建议给出一些测试用例,以及你期望的正确结果。


select xid,kid,avg(kcj)
from zhb
group by xid,kid




  • 打赏
  • 举报
回复
每个学生的每个科目的平均成绩


-->>怎么看怎么觉得楼主的话有问题
ai_li7758521 2009-06-07
  • 打赏
  • 举报
回复
建议转到MYSQL
s2005201261 2009-06-07
  • 打赏
  • 举报
回复
好棒的帖子,分享了!

56,685

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧