Mysql
主页 > 数据库 > Mysql >

MySQL创建三张关系表实操介绍

2022-03-24 | 秩名 | 点击:

1.创建学生表

1

2

3

4

5

6

7

create table tbl_stu (

 

id int not null primary key auto_increment,

 

name varchar(45) not null

 

)engine=innodb default charset=utf8;

#yyds干货盘点# 17 MySQL 创建三张关系表_插入数据

2.创建科目表

1

2

3

4

5

6

7

create table tbl_sub (

 

id int not null primary key auto_increment,

 

subject varchar(45) not null

 

)engine=innodb default charset=utf8;

#yyds干货盘点# 17 MySQL 创建三张关系表_插入数据_02

3.创建分数表

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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)

);

#yyds干货盘点# 17 MySQL 创建三张关系表_插入数据_03

4.插入数据

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

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.查询全部分数

1

2

3

4

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;

#yyds干货盘点# 17 MySQL 创建三张关系表_插入数据_04

6.查询学生的平均分

1

2

3

4

5

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;

#yyds干货盘点# 17 MySQL 创建三张关系表_插入数据_05

7.总分排行榜

1

2

3

4

5

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;

#yyds干货盘点# 17 MySQL 创建三张关系表_插入数据_06

原文链接:https://blog.51cto.com/u_15173612/5098740
相关文章
最新更新