mysql 三联表_mysql lift join 简朴的三联表查询

非常感谢先生!

看图吧

f91491cb2ca4fb93d03ad49ddc42eeaa.png

班级表 建立及添加数据 在此省略...

建立student表

create table student(

sid int not null auto_increment primary key,

sname varchar(30),

gender enum('男','女')

)engine = innodb default charset = utf8

添加外键:

alter table student add constraint fk_c_s foreign key student(class_id) references class(cid);

student 添加数据

insert into student(sname,gender,class_id) values ('钢蛋','女',1),('铁锤','女',1),('山炮','男',2);

建立teacher表

create table teacher(

tid int not null auto_increment primary key,

tname varchar(30)

)engine = innodb default charset = utf8

添加先生数据:

insert into teacher(tname) values ('波多'),('苍空'),('饭岛');

建立course课程表

create table course(

cid int not null auto_increment primary key,

cname varchar(30),

tearch_id int

)engine = innodb default charset = utf8

添加课程表外键:

alter table course add constraint fk_t_c foreign key course(tearch_id) references teacher(tid);

添加课程表内容:

insert into course(cname,tearch_id) values ('生物',1),('体育',1),('物理',2);

建立score成就表:

create table score(

sid int not null auto_increment primary key,

student_id int,

corse_id int,

number int

)engine = innodb default charset = utf8

添加score外键:

alter table score add constraint fk_s_s foreign key score(student_id) references student(sid);

alter table score add constraint fkk_c_s foreign key score(corse_id) references course(cid);

添加score 数据

insert into score(student_id,corse_id,number) values (1,1,60),(1,2,59),(2,2,100);

数据成就表:

select * from (score left join student on score.student_id=student.sid) left join course on score.corse_id=course.cid;

精简查询:

select score.sid as "序号" , student.sname as "姓名",course.cname as "课程",score.number as "成就" from (score left join student on score.student_id=student.sid) left join course on score.corse_id=course.cid;

精简查询效果:

ffb132116e988ebf54153f57d476ca17.png

原文链接:https://www.cnblogs.com/bdua/p/12382036.html

本站声明:网站内容来源于网络,若有侵权,请联系我们,我们将及时处理。

mysql 一对多数据表 join 查询后结果集的处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值