今天小编给大家分享一下MySQL如何创建三张关系表的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
create table tbl_stu (
id int not null primary key auto_increment,
name varchar(45) not null
)engine=innodb default charset=utf8;
create table tbl_sub (
id int not null primary key auto_increment,
subject varchar(45) not null
)engine=innodb default charset=utf8;
create table tbl_scores(
id int not null primary key auto_increment,
stu_id int,
sub_id int
score decimal(5,2),
constraint sco_stu foreign key(stu_id) references tbl_stu(id),
constraint sco_sub foreign key(sub_id) references tbl_sub(id)
);
insert into tbl_stu values (0,"小王");
insert into tbl_stu values (0,"小宋");
insert into tbl_stu values (0,"小李");
insert into tbl_sub values (0,"语文");
insert into tbl_sub values (0,"数学");
insert into tbl_sub values (0,"英语");
insert into tbl_scores values (0,1,1,90);
insert into tbl_scores values (0,1,2,70);
insert into tbl_scores values (0,1,3,82);
insert into tbl_scores values (0,2,1,95);
insert into tbl_scores values (0,2,2,70);
insert into tbl_scores values (0,2,3,84);
insert into tbl_scores values (0,3,1,85);
insert into tbl_scores values (0,3,2,86);
select s3.name,s2.subject,s1.score from tbl_scores as s1
inner join tbl_sub as s2 on s1.sub_id = s2.id
inner join tbl_stu as s3 on s1.sub_id = s3.id;
select s3.name,avg(s1.score) from tbl_scores as s1
inner join tbl_stu as s3 on s1.sub_id = s3.id
group by s3.name;
select s3.name,sum(s1.score) as s from tbl_scores as s1
inner join tbl_stu as s3 on s1.stu_id = s3.id
group by s3.name order by s desc;
以上就是“MySQL如何创建三张关系表”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。