top

笔记196 在两张不同的表做连接有3种join类型

笔记196 在两张不同的表做连接有3种join类型

复制代码
 1 --在两张不同的表做连接有3种join类型
 2 --
 3 --1、full join
 4 -- 2、inner join
 5 -- 3、outer join(left outer join、right outer join)
 6 --
 7 --在上面两个例子中我们看到的是inner join。如果我们连接表自身就叫做self join。这个特殊类型不会混淆连接类型。
 8 
 9 --FULL JOIN:full join和笛卡尔有些不同,笛卡尔积会获取所有可能的结果。而full join将匹配的结果与所有左边的表中不匹配右边的行和右边的表中所有不匹配左边的行加在一起,
10 --在不匹配的地方使用NULL代替。结果行数=匹配行数+左表剩余行数+右表剩余行数。(我的理解就是左表行数+右表行数)
11 
12 
13 --LEFT JOIN :左连接(left join)保证左表中的所有行都有,而当不匹配的时候以NULL填充右表字段
14 
15 --rigth JOIN :反过来,右连接(right join)保证右表中所有的行都有,而当不匹配的时候以NULL填充左表字段。
16 
17 --INNER JOIN :就是只列出匹配的行
18 
19 
20 --SELF JOIN:表连接自身叫做self join。为了解释一下这个让我们看如下图中的employee表。EmployeeID是此表的主键,
21 --ReportsTo引用了此表的主键。我们可以想象成这样,ReportTo字段引用代表该雇员的上司,其上司同样也是雇员
复制代码

 

posted @   桦仔  阅读(581)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示