作者:CodingStar来源:http://www.cnblogs.com/BoyceYang/p/3145279.html一、概要
JOIN对于接触过数据库的人,这个词都不陌生,而且很多人很清楚各种JOIN,还有很多人对这个理解也不是很透彻,这次就说说JOIN操作 。
图片是很容易被接受和理解,所以尝试使用图片来说明一下 。
二、JOIN分类
客官:小二,上JOIN分类!
……
小二:客官,新鲜出炉的JOIN分类图片来喽 。
文章插图
三、JOIN分类详解
客官:小二,速速详细道来!
小二:现在让小二来给您详细介绍 。
INNER JOIN:
仅仅返回两个表中,匹配列相同的列值,所在行的数据 。
文章插图
SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.Col1 = t2.Col1LEFT OUTER JOIN:
左外连接:返回左表的所有数据,并且在右表中不能匹配的列值,其坐在行则使用空值 。
文章插图
SELECT * FROM Tables1 t1 LEFT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2LEFT OUTER JOIN - WHERE NULL:
返回和右表不匹配的所有数据行
文章插图
SELECT * FROM Table1 t1 LEFT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t2.Col1 IS NULLRIGHT OUTER JOIN:
右外连接:返回右表的所有数据,并且在左表中不能匹配的列值,其所做在行则使用空值 。
文章插图
SELECT * FROM Tables1 t1 RIGHT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2RIGHT OUTER JOIN – WHERE NULL:
返回和左表不匹配的所有数据行 。
文章插图
SELECT * FROM Table1 t1 RIGHT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t1.Col1 IS NULLFULL OUTER JOIN:
完全连接可看作是左外连接和右外连接结果之和,返回两个表的所有数据,如果匹配列的值在两个表中匹配,那么返回数据行,否则返回空值 。
文章插图
SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1FULL OUTER JOIN – WHERE NULL:
返回内连接以外的数据行,即匹配列坐在行以外的所有数据 。
文章插图
SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.ID = t2.ID WHERE t1.ID IS NULL OR t2.ID IS NULLCROSS JOIN:
交叉连接不需要任何连接条件 。这个会把两个表的的数据进行笛卡尔积操作 。
文章插图
SELECT * FROM Table1 t1 CROSS JOIN Table2 t2小二:小二已经介绍完毕,客官,请慢用 。
【图解 SQL 中 JOIN 的各种用法】
推荐阅读
- 谋海外发展 中外古茶或牵手
- 谷歌SEO中的常见术语词汇解释
- 浙江建德,茶中奇葩荣耀回归
- 大益嘉年华在昆启幕 弘扬中华茶文化
- 巴中,烟溪乡科学发展促茶叶产业蓬勃发展
- HDLC&PPP原理与配置
- 房产中介上班第一天要干些什么 房产中介新人每天该干什么
- 解密初、中、高级程序员的进化之路
- 南方佳木,流品质创坦洋工夫茶中贵族
- 安化黑茶,茶中的灵芝