Oracle里面的外连中where和on之后and有啥区别-创新互联

1、表做关联的时候有些条件写在where中,有些写在on之后关联条件的and中。那么有什么区别呢。

十多年的青州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整青州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“青州网站设计”,“青州网站推广”以来,每个客户项目都认真落实执行。

2、我们指导,表关联一般分为两种:内联和外联。

3、我们先来看内联。

4、准备两个表做连接。表A:test_tb_stid;表B:test_tb_stscore;

5、表A数据如下图:

Oracle里面的外连中where和on之后and有啥区别

6、表B数据如下图:

Oracle里面的外连中where和on之后and有啥区别

7、用红色字段stid作为关联条件

8、内联,先把过滤条件放在and后:

select a.*,b.*
from test_tb_stid a
inner join test_tb_stscore b
on a.stid = b.stid
and a.stid = 2

9、结果,发现只出现一条:

Oracle里面的外连中where和on之后and有啥区别

10、把过滤条件放到where

Oracle里面的外连中where和on之后and有啥区别

11、发现内联的时候,这个过滤条件放on之后的and和where没有区别。

12、我们再看一下外联。

Oracle里面的外连中where和on之后and有啥区别

发现虽然加了过滤条件,但是a表还是全量的。如果不加这个a.stid=1,应该会匹配出两条出来,如下图:

Oracle里面的外连中where和on之后and有啥区别

说明外联的话:1、主表总是全量的。2、on之后的and条件只对结果内容产生影响,不对结果量产生影响。

13、过滤条件加到where上

Oracle里面的外连中where和on之后and有啥区别

直接就是对结果集产生影响了。

本文标题:Oracle里面的外连中where和on之后and有啥区别-创新互联
本文来源:https://www.cdcxhl.com/article14/dsjide.html

成都网站建设公司_创新互联,为您提供面包屑导航品牌网站建设标签优化域名注册网站建设品牌网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司