MySQL JOIN实现表关联

MySQL通过join实现表的关联,主要有三种方式

数据准备

create table student(stu_no int(10),name VArchar(20));
INSERT student VALUES(1,"mike");
INSERT student VALUES(2,"jin");
INSERT student VALUES(3,"tina");
INSERT student VALUES(4,"fke");

stu_no name
1	mike
2	jin
3	tina
4	fke

CREATE table score(stu_no int(10),grade int(20));
INSERT score VALUES(1,70);
INSERT score VALUES(2,80);
INSERT score VALUES(6,70);

stu_no grade
1	70
2	80
6	70

1, left join(左关联)

以左边的表为基准,将右边的表的内容添加到左边的表中,凡是左边表中有的记录新表中都有,如果右边的表没有则用 NULL 补齐

SELECT * from student a LEFT JOIN score b on a.stu_no=b.stu_no;

stu_no name    stu_no grade
1	 mike	     1	   70
2	 jin  	     2	   80
3	 tina	    null   null	
4	 fke		null   null

2, right join(右关联)

以右边的表为基准,将左边的表的内容添加到右边的表中,凡是右边表中有的记录新表中都有,如果左边的表没有则用 NULL 补齐

SELECT * from student a RIGHT JOIN score b on a.stu_no=b.stu_no;

stu_no name  stu_No grade
1	    mike	1	70
2	    jin	    2	80
null    null	6	70

3, inner join(内关联)

类似于取两张表的交集,只有两个表中都有的才会在结果表中展示

SELECT * from student a INNER JOIN score b on a.stu_no=b.stu_no;

stu_no name   stu_no grade
1	    mike	1	  70
2	    jin	    2	  80

4, full outer join(外关联)

MySQL没有这个操作, 是针对 Oracle 的取并集操作

备注: 外关联, 等一系操作虽然没有但是可以利用查询语句构建实现出来

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值