数据库基础-JOIN

JOIN分类

 

JOIN

三、JOIN分类详解

INNER JOIN

仅仅返回两个表中,匹配列相同的列值,所在行的数据。

InnerJOIN

SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.Col1 = t2.Col1

 

LEFT OUTER JOIN

左外连接:返回左表的所有数据,并且在右表中不能匹配的列值,其坐在行则使用空值。

LEFTOUTERJOIN

SELECT * FROM Tables1 t1 LEFT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2

 

LEFT OUTER JOIN - WHERE NULL

返回和右表不匹配的所有数据行

LEFTOUTERJOIN-WHERENULL

SELECT * FROM Table1 t1 LEFT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t2.Col1 IS NULL

 

RIGHT OUTER JOIN

右外连接:返回右表的所有数据,并且在左表中不能匹配的列值,其所做在行则使用空值。

RIGHTOUTERJOIN

SELECT * FROM Tables1 t1 RIGHT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2

 

 

RIGHT OUTER JOIN – WHERE NULL

返回和左表不匹配的所有数据行。

RIGHTOUTERJOIN–WHERENULL

SELECT * FROM Table1 t1 RIGHT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t1.Col1 IS NULL

 

 

FULL OUTER JOIN

完全连接可看作是左外连接和右外连接结果之和,返回两个表的所有数据,如果匹配列的值在两个表中匹配,那么返回数据行,否则返回空值。

FULLOUTERJOIN

SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 

 

FULL OUTER JOIN – WHERE NULL

返回内连接以外的数据行,即匹配列坐在行以外的所有数据。

FULLOUTERJOIN–WHERENULL

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:

交叉连接不需要任何连接条件。这个会把两个表的的数据进行笛卡尔积操作。

CrossJOIN

SELECT * FROM Table1 t1 CROSS JOIN Table2 t2

 

转载于:https://www.cnblogs.com/Eaglery/p/5294359.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值