MySQL 創(chuàng)建三張關系表實操
更新時間:2022年03月24日 17:15:51 作者:江下下啊
這篇文章主要介紹了MySQL 創(chuàng)建三張關系表實操,文章說先創(chuàng)建學生表然后科目表和分數表三張有著密切關系的表,下文實操分享需要的小伙伴可以參考一下
1.創(chuàng)建學生表
create table tbl_stu ( id int not null primary key auto_increment, name varchar(45) not null )engine=innodb default charset=utf8;

2.創(chuàng)建科目表
create table tbl_sub ( id int not null primary key auto_increment, subject varchar(45) not null )engine=innodb default charset=utf8;

3.創(chuàng)建分數表
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) );

4.插入數據
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);
5.查詢全部分數
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;

6.查詢學生的平均分
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;

7.總分排行榜
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 創(chuàng)建三張關系表實操的文章就介紹到這了,更多相關MySQL 創(chuàng)建關系表內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mysql8新特性之binlog_expire_logs_seconds淺析
MySQL8中新增了不少新特性,這些特性提高了數據庫的安全性和性能,使數據庫管理員能夠更靈活地進行賬戶管理工作,下面這篇文章主要給大家介紹了關于mysql8新特性之binlog_expire_logs_seconds的相關資料,需要的朋友可以參考下2023-02-02

