数据库七种join原理(配图)

mysql数据库join的使用

提示:由于我们在写业务的时候都需要使用表连接,那么使用哪种表连接就成为了问题
例如:有一个学生表和一个班级表,需要查询每个同学班级的信息就需要用到连接,也就是join语句


提示:以下是本篇文章正文内容,下面案例可供参考

一、join是什么?

通俗的来说:就是需要两张表进行连接成一张表所需要的用到的语法

二、七种join

1.左连接(left join)

在这里插入图片描述

SELECT 
 (data) 
FROM
	TABLE A
LEFT JOIN TABLE B ON A.key = B.key

2.右连接(right join)

在这里插入图片描述

SELECT 
 (data) 
FROM
	TABLE A
RIGHT JOIN TABLE B ON A.key = B.key

3.内连接(right join)

在这里插入图片描述

SELECT 
 (data) 
FROM
	TABLE A
INNER JOIN TABLE B ON A.key = B.key

4.左独有

在这里插入图片描述

SELECT 
 (data) 
FROM
	TABLE A
LEFT JOIN TABLE B ON A.key = B.key
WHERE B.key IS NULL

5.右独有

在这里插入图片描述

SELECT 
 (data) 
FROM
	TABLE A
RIGHT JOIN TABLE B ON A.key = B.key
WHERE A.key IS NULL

6.全连接

在这里插入图片描述
注意多了union语法

(SELECT 
 (data) 
FROM
	TABLE A
LEFT JOIN TABLE B ON A.key = B.key
)
UNION
(SELECT 
 (data) 
FROM
	TABLE A
RIGHT JOIN TABLE B ON A.key = B.key
)

7.并集去交集

在这里插入图片描述

(SELECT 
 (data) 
FROM
	TABLE A
LEFT JOIN TABLE B ON A.key = B.key
WHERE B.key IS NULL
)
UNION
(SELECT 
 (data) 
FROM
	TABLE A
RIGHT JOIN TABLE B ON A.key = B.key
WHERE A.key IS NULL
)

总结

1.可以根据需求来判断使用哪种表连接
2.在表连接效率极其缓慢时可以考虑建立索引和explain关键字优化sql
3.在使用左连接的时候 主要用的表一般放在左边

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值