`

(转)有关外连接的相关注意事项

阅读更多

无其他条件

1select * from n_fwy_a a left join n_fwy_b b on a.id=b.id order by a.id;
2select * from n_fwy_a a ,n_fwy_b b where a.id=b.id(+order by a.id;

 这两重写法的查询的结果一致

在主表加附加条件

1select * from n_fwy_a a ,n_fwy_b b where a.id=b.id(+and a.id >5 order by a.id;
2select * from n_fwy_a a left join n_fwy_b b on a.id=b.id where a.id>5 order by a.id;
3select * from n_fwy_a a left join n_fwy_b b on a.id=b.id and a.id>5 order by a.id;--no


 
这三种写法的前两种查询结果一致,用第2种sql查询得的结果发现出现了n_fwy_a的全集数据

在附表中加条件

 

1select * from n_fwy_a a ,n_fwy_b b where a.id=b.id(+and b.id(+>5 order by a.id;
2select * from n_fwy_a a left join n_fwy_b b on a.id=b.id where b.id >5 order by a.id;--no
3select * from n_fwy_a a left join n_fwy_b b on a.id=b.id and b.id >5 order by a.id;


 
此三种写法的前1,3种查询结果一致,用第2种sql查询得的结果发现仅仅出现了b.id >5的数据集,而其他两种结果集合是a的全集

--对于in 和 or 操作

在老风格(+)的外关联操作中,where 条件中是不允许附表引用in和or操作的。

--对于in操作

1select * 
2from n_fwy_a a ,
3(select * from n_fwy_b b where b.id in (2,8)) b
4where a.id=b.id (+);
5select * 
6from n_fwy_a a left join n_fwy_b b on a.id=b.id and b.id in (2,8);


对于在附表中引用in和or操作,两种写法所得的结果一致

1select * 
2from (select * from n_fwy_a a where a.id in (2,9)) a ,
3n_fwy_b b
4where a.id=b.id (+);
5select * 
6from n_fwy_a a left join n_fwy_b b on a.id=b.id and a.id in (2,9);

 

对于在主表中引用in和or操作,两种写法所得的结果就不一致了,和好理解第一种写法的SQL把主表的数据集变小了,第二种写法的sql的数据集还是主表的全集

--对于OR操作与in的一致

总结:

相对于ANSI风格的外关联,其on后的条件是关联前的筛选数据条件,但是无论加什么条件,它的结果集大小与主表的数据集一样大,对于其where后的条件是关联之后的条件。

对于(+)风格的外关联,where后的条件是关联后的筛选数据的条件。针对附表不能使用in和or操作,若要使用应该在关联之前使用,以缩小数据集合(即在from 中使用表查询),否则的话,起不到外关联的作用,结果集为内连接的结果.

 

分享到:
评论

相关推荐

    PCB制板程序及注意事项

    PCB制板程序涉及多个步骤,每个步骤都有其注意事项和技巧,下面详细探讨PCB制板的主要程序及其注意事项。 1. 制作物理边框 在设计PCB前,首先需要划定一个封闭的物理边框。边框的设置对于后续的元件布局和走线起到...

    电子政务-怠速步进电机机座外壳连接方式.zip

    5. 安装与维护指南:提供步进电机机座与外壳安装的具体步骤,以及日常维护注意事项,确保设备长期稳定运行。 6. 电子政务系统中的应用案例:通过实际应用场景,展示步进电机在电子政务设备中的应用,如自助服务终端...

    网络游戏-便于安装连接器外壳的SFP网络连接器.zip

    3. 安装步骤和注意事项:详细说明如何正确安装SFP模块到网络设备中,避免损坏设备或模块。 4. 兼容性和互操作性:讨论新设计是否适用于多种品牌和型号的网络设备,以及与其他SFP标准的兼容情况。 5. 性能提升:可能...

    LED封装流程及注意事项.pdf

    我将根据一般情况下LED封装流程及注意事项可能包含的知识点进行讲解。 LED封装是LED生产过程中的一个重要环节,它对LED产品的性能、可靠性以及外观有直接影响。封装流程通常包括芯片安装、连线、填充材料固化、切割...

    hp V3000系列笔记本拆机注意事项

    【HP V3000系列笔记本拆机注意事项详解】 HP V3000系列笔记本以其时尚的外观设计、亲民的价格以及良好的性价比受到广大用户的喜爱。然而,该系列笔记本的散热系统存在一定的缺陷,长时间使用后,风扇积灰严重,导致...

    矿车使用的安全注意事项.docx

    ### 矿车使用的安全注意事项 #### 一、矿车的类型与结构要求 矿车是一种重要的运输工具,主要用于矿山的斜井提升作业。根据不同的结构特点和使用目的,矿车可以分为以下几种类型: 1. **固定车厢式矿车**:适用于...

    燃烧器调试安全注意事项.docx

    以下是一些关键的安全注意事项: 1. 在调试前,确保燃料供应阀关闭,避免未点火前燃料泄露,尤其是对于燃气燃烧器,要检查燃气管路连接的正确性,遵循燃料管、手阀、过滤器、双电磁阀和燃烧器的顺序,同时确认燃气...

    电子功用-将国标充电接口转换为非国标充电接口的直充转换连接器

    7. **设计与制造**:可能涉及到转换器的设计流程,包括电路板布局、外壳设计、材料选择等,以及生产制造过程中的注意事项。 8. **未来发展趋势**:随着无线充电和快速充电技术的发展,转换器可能需要适应新的技术...

    汇川-高响应伺服电机安全注意事项版本号:V1.2.pdf

    ### 汇川-高响应伺服电机安全注意事项 #### 一、重要安全性提示 1. **电气连接安全性**: - 根据电气设备标准,连接伺服包(SERVOPACK)和电机的接地端子(如果地面无接地端子可连接如框架的金属),接地电阻需小于...

    电工安全操作注意事项82597.pdf

    以下是根据给定文件中的内容,总结的电工安全操作注意事项: 1. **电工工具管理**:电工专用工具必须符合绝缘性能、机械强度、材料结构和尺寸的规定,且应定期检查和校验,确保工具的安全可靠性。工具不应被他人...

    电脑主机内部所有接线连接方法使用

    通过以上详细介绍,我们可以看到电脑主机内部接线种类繁多,但只要按照正确的步骤和注意事项操作,即使是电脑新手也能轻松完成电脑组装。希望本文能够帮助大家更好地理解和掌握电脑主机内部接线的相关知识。

    摇表兆欧表的工作原理、应用及注意事项.doc

    摇表兆欧表,是一种用于测量电气设备绝缘电阻的便携式仪表,广泛应用于电机、电器线路等的绝缘性能...通过理解其工作原理,掌握正确的操作步骤和注意事项,能够有效地进行绝缘电阻检测,保障电气系统的可靠性和安全性。

    R连接SQL数据库

    #### 三、注意事项 - 确保ODBC数据源的正确配置至关重要,这是R语言能够成功连接到数据库的基础。 - R语言中RODBC包的使用非常灵活,除了基本的查询功能外,还支持更多的高级操作,如执行复杂SQL语句、批量插入数据...

    关于英威腾伺服驱动器与伟创伺服电机配套使用的应用注意事项.docx

    本文将详细介绍英威腾伺服驱动器与伟创伺服电机配套使用的应用注意事项,旨在帮助工程师们更好地理解和解决相关问题。 #### 二、基础配置与调试 **1. 极对数一致性** - **要点说明**:电机的极对数是决定其旋转...

    电子功用-用于圆柱形部件的电连接器

    《电子功用-用于圆柱形部件的电连接器》 ...通过阅读《用于圆柱形部件的电连接器.pdf》文档,读者将能深入了解此类连接器的设计、性能指标、选择策略以及在实际应用中的注意事项,从而更好地应用于各种工程项目中。

    MITSUBISHI三菱CC-Link IE现场网络接口板用户手册(对应SW1DNC-CCIEF-B).pdf

    本手册中的注意事项仅记载了与本产品有关的内容。关于可编程控制器系统方面的安全注意事项,请参阅所使用的CPU模块的用户手册。在“安全注意事项”中,安全注意事项被分为“警告”和“注意”这二个等级。 警告: *...

    cubieboard红外客户码获取方法

    #### 三、注意事项 - 在编写程序时,请确保具有足够的权限来访问红外设备。 - 需要注意不同红外遥控器的信号格式可能不同,因此解码逻辑也会有所差异。 - 在进行红外信号捕获时,环境光线可能会对结果产生影响,...

    DV6拆机教程

    - **注意事项**:确保正确识别电源连接器的位置和连接方式。 ##### 12. 卸载主板 - **步骤说明**: - 断开主板与左侧USB板、蓝牙、音频板的连接。 - 断开主板与右侧USB板、电源连接器的连接。 - 断开主板与光驱...

Global site tag (gtag.js) - Google Analytics