当前位置: 首页 > 科技观察

SQL中JOIN的各种用法示意图

时间:2023-03-12 22:37:42 科技观察

一、概述JOIN对于接触过数据库的人来说都不陌生,很多人对JOIN的各种方式都非常了解,也有很多人不是很了解。这次说说JOIN操作。图片容易接受和理解,所以尽量用图片来说明。2、JOIN分类客官:小二,去JOIN分类!……小二:客官,最新发布的JOIN分类图片来了。三、JOIN分类详解客官:小二,我赶紧详细解说!小二:现在让小二给大家详细介绍一下。INNERJOIN:只返回两个表中匹配列的列值相同的行中的数据。SELECT*FROMTable1t1INNERJOINTable2t2ONt1.Col1=t2.Col1LEFTOUTERJOIN:leftouterjoin:返回左表中的所有数据,右表中无法匹配的列值,该行使用空值。SELECT*FROMTables1t1LEFTOUTERJOINTable2t2ont1.Col1=t2.Col2LEFTOUTERJOIN-WHERENULL:返回所有与右表不匹配的数据行,而对于左表中无法匹配的列值,对行使用空值。SELECT*FROMTables1t1RIGHTOUTERJOINTable2t2ont1.Col1=t2.Col2RIGHTOUTERJOIN–WHERENULL:返回所有与左表不匹配的数据行。SELECT*FROMTable1t1RIGHTOUTERJOINTable2t2ONt1.Col1=t2.Col1WHEREt1.Col1ISNULLFULLOUTERJOIN:全连接可以看作是左外连接和右外连接的结果之和,返回两个表的所有数据,如果匹配列两个表中的值匹配,则返回数据行,否则返回空值。SELECT*FROMTable1t1FULLOUTERJOINTable2t2ONt1.Col1=t2.Col1FULLOUTERJOIN–WHERENULL:返回内连接外的数据行,即匹配列中位于该行外的所有数据。SELECT*FROMTable1t1FULLOUTERJOINTable2t2ONt1.ID=t2.IDWHEREt1.IDISNULLORt2.IDISNULLCROSSJOIN:交叉连接不需要任何连接条件。这将对两个表的数据进行笛卡尔积运算。SELECT*FROMTable1t1CROSSJOINTable2t2小二:小二介绍完毕,客官请慢慢使用。