图解Mysql中的LEFT JOIN、RIGHT JOIN与JOIN的区别
作者:一只小熊猫呀
这篇文章主要介绍了图解Mysql中的LEFT JOIN、RIGHT JOIN与JOIN的区别,Left Join就是以左边为基准,Inner Join就是查两个重复的部分,Right Join就是以右边为基准,需要的朋友可以参考下
图解Mysql中的LEFT JOIN、RIGHT JOIN与JOIN的区别
如图:
T1表
ID | NAME | COURSE |
1 | 张三 | 11 |
2 | 李四 | 12 |
3 | 王五 | 13 |
T2表
ID | NAME | COURSE |
3 | 张三 | 语文 |
4 | 张三 | 数学 |
5 | 马六 | 英语 |
1、ID关联(LEFT JOIN)
SELECT * FROM T1 LEFT JOIN T2 ON T1.ID=T2.ID
结果如图:
联系两个表:
分析:以T1表(左边)为主表,查询与T1表有相同ID的数据。
2、ID关联(RIGHT JOIN)
SELECT * FROM T1 RIGHT JOIN T2 ON T1.ID=T2.ID
结果如图:
联系两个表:
分析:以T2表(右边)为主表,查询与T2表有相同ID的数据。
转换:即
SELECT * FROM T1 RIGHT JOIN T2 ON T1.ID=T2.ID
等同于
SELECT * FROM T2 LEFT JOIN T1 ON T1.ID=T2.ID
查询出来的数据一样,但呈现方式不同,如下图:
3、ID关联(JOIN)
SELECT * FROM T1 JOIN T2 ON T1.ID=T2.ID
等同于
SELECT * FROM T2 JOIN T1 ON T1.ID=T2.ID
结果如图:
分析:查询两个有相同ID的的数据。
这时候如果换一种方式呢,比如以NAME关联
①NAME关联(LEFT JOIN)
SELECT * FROM T1 JOIN T2 ON T1.NAME=T2.NAME
结果如图:
联系两个表:
分析:以T1表(左边)为主表,查询与T1表有相同NAME的数据(与以ID关联原理一样,LEFT JOIN与JOIN就不一一列出来了)。
到此这篇关于图解Mysql中的LEFT JOIN、RIGHT JOIN与JOIN的区别的文章就介绍到这了,更多相关Mysql的LEFT JOIN、RIGHT JOIN与JOIN内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!