SQL第13课~外连接,多表外连接,自外连接

所有内容收录在合集~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

标签:都会   子句   管理人员   熟练   表格   顾客   正确   条件   地址   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top