1. 表结构.
表A
表B
2. 内连接
语句
select
*
from
A a
inner join B b on b.id = a.out_id
等于
select
*
from
A a,B b
where b.id = a.out_id
结果
分析:
ON 字句连接条件,不再与左连接或右连接的功效一样,
除了作为2表记录匹配的条件外,还会起到过滤记录的作用,
若 A表 中记录无法在 B表 中找到对应的记录,则会被过滤掉.
WHERE字句,不管是涉及A表、B表上的限制条件,
还是涉及2表连接的条件,都会对记录集起到过滤作用,把不符合要求的记录刷选掉.
3. 左连接
语句
select
*
from
A a
left join B b on b.id = a.out_id
结果
分析:
ON字句连接条件,用于把2表中等值的记录连接在一起.但是不影响记录集的数量。
若是表A中的某记录,无法在表B找到对应的记录,则此记录依然显示在记录集钟.
只是表 B 需要在查询显示的列的值用NULL替代.
ON字句连接条件中表A和表B建立链接的关联
WHERE字句控制记录是否符合查询要求,不符合则过滤掉.
总结:ON字句控制B表的列值符合显示,还是不符合就用NULL替换,不影响最终符合查询要求的记录集;
WHERE字句是控制那些记录是显示在最终的记录集中。
4. 右连接
语句
select
*
from
A a
right join B b on b.id = a.out_id
结果
分析:
ON字句连接条件,用于把2表中等值的记录连接在一起,
若是表 B 中的某记录,无法在表 A 找到对应的记录,
则表 left_able需要在查询显示的列的值用NULL替代.
ON字句连接条件中表A和表B的链接条件
WHERE字句控制记录是否符合查询要求,不符合则过滤掉.
总结:ON字句控制A的列值符合显示,还是不符合而用NULL替换掉.
不影响最终符合查询要求的记录集;
WHERE字句是控制那些记录是显示在最终的记录集中。
我们会发现LEFT JOIN 和RIGHT JOIN是类似的,
只是以连接关键字左边还是右边表为准匹配。
分享到:
相关推荐
SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
SQL 连接 JOIN 例解左连接,右连接,全连接,内连接,交叉连接,自连接
sql左连接,右连接,内连接,全连接详细讲解
关于内连接,外连接(左右连接)等的总结关于内连接,外连接(左右连接)等的总结关于内连接,外连接(左右连接)等的总结
SQL 左外连接,右外连接,全连接,内连接 。联接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定联接条件。WHERE和HAVING子句也可以包含搜索条件,以进一步筛选联接条件所选的行。
等值连接 不等连接 自然连接 外连接 交叉连接 全连接 右连接 左连接 外连接
SQL 左外连接,右外连接,全连接,内连接 四种连接的差异
SQL连接JOIN例解 (左连接,右连接,全连接,内连接,交叉连接,自连接)pdf
SQL之左连接、右连接和全连接,全面讲述表与表见的链接关系、区别
sql左外连接、右外连接、内连接、全外连接的区别
SQL左外连接,右外连接,全连接,内连接四种连接的差异[参照].pdf
SQL的四种连接-左外连接、右外连接、内连接、全连接 今天在看一个遗留系统的数据表的时候发现平时查找的视图是FULL OUT JOIN的,导致平时的数据记录要进行一些限制性处理,其实也可以设置视图各表为右外连接并在...
SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
sql连接器
SqlServer连接工具SqlServer连接工具SqlServer连接工具
SQL左外连接,右外连接,全连接,内连接4种连接的区别[归类].pdf
今天做项目,发现左右连接是不一样的。主要是说明了区别,是不是必须用左连接或右连接,大家可以根据需要选择。
SQLTools sql连接工具SQLTools sql连接工具SQLTools sql连接工具
SQL优化--使用内连接(inner join)代替外连接(left join,right join)