
回复
作者 | 川石信息
来源 | 今日头条
连接
合并思想. N个表 --> 1个表
▲ 连接的定义
将2个或2个以上的表通过一定的条件拼接起来形成一个虚表的过程。连接是from子句的一部分.
从2个表的连接开始.
● 左表: 放置在你左手边的表. left_tab
● 右表: 放置在你右手边的表. right_tab
▲ 连接语法
1、连接类型
三种基本类型: 交叉连接,内连接与外连接
交叉连接
返回的就是一个笛卡尔积.
▲ 交叉连接语法
内连接
在交叉连接的基础上,仅返回满足连接条件的行.
▲ 连接条件
1.使用on关键字来指定.
2.on的用法与where类似.
3.on可以使用连接的所有表中的列值进行判断
▲ 内连接的语法
外连接
在内连接的基础上,返回一些额外的行.
▲ 左外连接(左连接)
在内连接的基础上,左表除了返回满足连接条件的行之外,剩下的所有不满足连接条件的行也要一并返回,右表中与之没有匹配的行的列值设置为null
▲ 右外连接(右连接)
在内连接的基础上,右表除了返回满足连接条件的行之外,剩下的所有不满足连接条件的行也要一并返回,左表中与之没有匹配的行的列值设置为null
▲ 外连接语法
2、内连接应用
语法:
▲ 表的别名
注意: 一旦给表设置了别名,则以后只能通过别名引用表中的列.别名会隐藏表名.
▲ join嵌套
可以在一个join中嵌套另外一个join
一般来说,当连接的表的个数N>=3时需要使用嵌套join.
当连接的表的个数为N时,则至少需要N-1个连接条件.
3、外连接应用
语法:
▲ join嵌套
与内连接中的join嵌套用法类似.