对于包含一个外连接的查询子句有一个令人困惑的地方,那就是我们应该把一个逻辑表达式放在on过滤器中还是where过滤器中。二者最大的区别在于,on过滤器是在添加外部行前执行(1计算笛卡尔积2过滤3添加外部行),而where过滤器是在添加外部行后执行。
通过on过滤器对于保留表中的一行的剔除并不是最终的因为添加外部行时仍然会把数据加回来。相反,通过where过滤器对一行的剔除是最终的。明白这一点可以帮助你做出正确的选择。
例如:
select c.customerid,c.city,o.orderid
from dbo.customers as c
left join
dbo.orders as o
on c.customerid=o.customerid
and
c.city=N'Madrid'
运行这段代码得到如下结果:
图1-1
请注意第七条数据,city=’Zion’,通常我们会疑惑 我们不是已经在on条件中进行了顾虑了吗
(只取city为Madrid马德里的数据)?这条数据在on阶段已经被过滤掉了,但是在添加外部行这个阶段时又被添加进来了(这个查询用的是左外连接),orderid为null,就是说通过on条件过滤后在orders表未发现相匹配的记录。
请比较:
select c.customerid,c.city,o.orderid
from dbo.customers as c
left join
dbo.orders as o
on c.customerid=o.customerid
图1-2
请注意图1-1中第七条数据和图1-2图中第七条数据的区别。
请比较:
select c.customerid,c.city,o.orderid
from dbo.customers as c
join
dbo.orders as o
on c.customerid=o.customerid
and
c.city=N'Madrid'
图1-3
两个外部行在On阶段都被过滤掉。由于该连接不是外连接只有两个处理阶段(1计算笛卡尔积 2 过滤),没有添加外部行这个阶段,所以没有下过订单以及city<>N’Madrid’的客户被过滤掉了,由此可以清晰看出on条件的起作用的阶段,帮助我们设计出我们需要的谓词
过滤(on where having)
分享到:
相关推荐
谓词执行是在控制流存在的条件下可以有效挖掘指令级并行性的硬件机制,而在分簇结构上实现谓词机制,可以提高分簇结构上条件的执行效率。针对分簇结构展开谓词体系结构的研究,提出了分簇结构部分谓词的高效实现方法...
人工智能课件,关于谓词逻辑与归结原理,在学习了离散数学的基础上,进一步深入的学习谓词逻辑,掌握人工智能的初步知识
谓词逻辑离散数学
加深对归结原理进行定理证明过程的理解,掌握基于谓词逻辑的归结过程中子句变换过程、替换与合一算法即归结策略等重要环节,进一步了解实 现机器自动定理证明的步骤。 采用C++
一阶谓词逻辑下的Horn 逻辑是人工智能程序语言Prolog 的理论基础,利用Prolog 在计算机 上可实现机械化,从而使自动化求解问题和定理证明具备可行性。
谓词逻辑推理,人工智能的基本理论,为人工智能系统的开发奠定了一定的理论基础
用于人工智能的学习,内容全面,人工智能 谓词逻辑
人工智能谓词逻辑归结问题的推理系统是很好的学习资料 ,可以帮助广大学子进一步学习人工智能的相关知识。
"人工智能导论课件:第四章 谓词逻辑与归结原理" 在人工智能领域中,谓词逻辑和归结原理是两个非常重要的概念。谓词逻辑是一种形式语言,具有严密的理论体系,是一种常用的知识表示方法。它可以用来描述复杂的关系...
离散数学 谓词逻辑 PPT 基础 有用 好好学习
命题逻辑与谓词逻辑PPT课件.pptx
对命题逻辑和谓词逻辑的核心归纳可以做到一目了然
一阶谓词逻辑可以借助关联矩阵进行有效推理。为了提高关联矩阵的构造效率,从而提高一阶谓词逻辑推理的效率,提出一种由一阶谓词公式构造对应关联矩阵的递归方法。该方法利用二叉树的递归性质,对任意一个一阶谓词...
研究了中文名词性谓词的语义角色标注(semantic role labeling,简称SRL).在使用传统动词性谓词SRL相关特征的基础上,进一步提出了名词性谓词SRL相关的特征集.此外,探索了中文动词性谓词sRL对中文名词性谓词SRL的...
人工智能的实验题目。输入一组合适公式,以及一个目标子句,输出归结树。 我奋斗了几乎5天总算弄出来了,放过bin出来show一下^_^。 至于代码,想要的可以联系我。 这里给出一个测试用例吧: ;假设:所有不贫穷且...
基于谓词索引的大数据压缩
东北大学 离散数学课件 谓词逻辑 保证很详细哦
离散数学第二章谓词逻辑,非常好的资源,欢迎下载
博文链接:https://hongan.iteye.com/blog/224129