所有内容收录在合集~SQL入门到熟练
外连接 Outer Joins
多表外连接 Outer Join between Multiple Tables
自外连接 Self Outer Joins
10-12课主要说了内连接,现在说一下外连接。
外连接是一个有用的细节。
inner几乎是隐形的,一般写join就是inner join
现在试试把内连接变成外连接。还是这个表格拿出来用
简化一下只看,顾客id,姓氏和地址id。然后顺便排个序。
这个时候很明显看出顾客id为1的时候,地址id对应的是5,而打开地址表,是有1到4的数据的,如果想看到这个数据,不管有没有顾客id,怎么办呢?
这个时候外连接可以用起来了。我们得出的数据,来自于设置的连接条件。连接这张表时,返回的值是
只返回符合条件的记录
在这个表格中,一些条件是对不上的,没有对应的,也就没有在结果集里面被返回了
外连接有左连接和右连接2种,写英文也是直接的 LEFT JOIN 和RIGHT JOIN
使用左连接时候,所有左表的记录都会被返回,不管条件正确与否
使用右连接时候,所有右表的记录都会被返回,不管条件正确与否
所以可以得到所有顾客,只要他们有对应的数据。
由于我这次的表格在右边,所以我写right join,执行得出结果,没有顾客id的值照样可以显示。
注意,这个左和右指的是JOIN的左边和右边。
当你写left或者right的时候,就是外连接,所以和in一样,outer也是可有可无的。不需要写出来。
判断是内连接还是外连接,主要就是看有没有LEFT和RIGHT。
多表外连接 Outer Join between Multiple Tables
结合前面的外连接和多表连接,
假设这次我增加一个城市id,增加一个城市表,如果发现有缺失的值,还是直接在对应的join前面添加left或者right即可。当然主要还是使用LEFT。
注意:我在选取的表格少的时候,使用了右连接,更多的时候建议使用左连接,注意join的位置,避免出现右连接后面跟着左连接,容易搞混的情况。所以尽量多使用左连接。
自外连接 Self Outer Joins
之前的自连接写的应该是这个数据
这个时候的返回时返回有管理人员的人,我们可以通过左连接进行调整
可以得到表格里每位员工的信息,不论是否有管理人员。
也就显示了空值。
总结:
1 外连接可以说是建立在内连接的基础上,学会了内连接,添加一点点内容就可以完成外连接的书写。注意在写的时候核对一下。
2 虽然有左连接和右连接,但是一般情况下我们使用的是左连接,也是一个从一开始就可以养成的习惯。
3 如果需要连接的表格确实很少,那么右连接也可以用起来。
总体这节的内容轻松简答,稍微试试就可以熟练的进行运用了。
下节课是USING子句 | The USING Clause,自然连接,交叉连接。
页面更新:2024-05-15
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号