iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle里面的外连中where和on之后and有啥区别
  • 726
分享到

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

2024-04-02 19:04:59 726人浏览 薄情痞子
摘要

1、表做关联的时候有些条件写在where中,有些写在on之后关联条件的and中。那么有什么区别呢。 2、我们指导,表关联一般分为两种:内联和外联。 3、我们先来看内联。 4、准备两个

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

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有啥区别

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

您可能感兴趣的文档:

--结束END--

本文标题: Oracle里面的外连中where和on之后and有啥区别

本文链接: https://www.lsjlt.com/news/47150.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL中过滤条件放on和where中的区别有哪些
    这篇文章主要介绍SQL中过滤条件放on和where中的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!join过程可以这样理解:首先两个表做一个笛卡尔积,on后面的...
    99+
    2024-04-02
  • MySQL left join操作中on和where放置条件的区别有哪些
    这篇文章给大家分享的是有关MySQL left join操作中on和where放置条件的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。优先级两者放置相同条件,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作