阅读导航html
1、概要数据库
2、JOIN分类spa
1、概要code
JOIN对于接触过数据库的人,这个词都不陌生,并且不少人很清楚各类JOIN,还有不少人对这个理解也不是很透彻,此次就说说JOIN操做。htm
图片是很容易被接受和理解,因此尝试使用图片来讲明一下。blog
2、JOIN分类图片
客官:小二,上JOIN分类!rem
……rpc
小二:客官,新鲜出炉的JOIN分类图片来喽。
3、JOIN分类详解
客官:小二,速速详细道来!
小二:如今让小二来给您详细介绍。
INNER JOIN:
仅仅返回两个表中,匹配列相同的列值,所在行的数据。
SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.Col1 = t2.Col1
LEFT OUTER JOIN:
左外链接:返回左表的全部数据,而且在右表中不能匹配的列值,其坐在行则使用空值。
SELECT * FROM Tables1 t1 LEFT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2
返回和右表不匹配的全部数据行
SELECT * FROM Table1 t1 LEFT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t2.Col1 IS NULL
右外链接:返回右表的全部数据,而且在左表中不能匹配的列值,其所作在行则使用空值。
SELECT * FROM Tables1 t1 RIGHT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2
RIGHT OUTER JOIN – WHERE NULL:
SELECT * FROM Table1 t1 RIGHT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t1.Col1 IS NULL
彻底链接可看做是左外链接和右外链接结果之和,返回两个表的全部数据,若是匹配列的值在两个表中匹配,那么返回数据行,不然返回空值。
SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1
返回内链接之外的数据行,即匹配列坐在行之外的全部数据。
SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.ID = t2.ID WHERE t1.ID IS NULL OR t2.ID IS NULL
CROSS JOIN:
交叉链接不须要任何链接条件。这个会把两个表的的数据进行笛卡尔积操做。
SELECT * FROM Table1 t1 CROSS JOIN Table2 t2
小二:小二已经介绍完毕,客官,请慢用。准备洗漱睡觉了。