左联接中的歧义(仅适用于Oracle?)

左联接中的歧义(仅适用于Oracle?),第1张

联接中的歧义(仅适用于Oracle?)

恐怕我不能告诉你为什么你没有例外,但是我可以推测为什么它选择了CATEGORIES版本的列而不是PARTS版本的列。

据我了解,在左联接的情况下,查询(PARTS)中的“主”表具有歧义性

尚不清楚从概念上看查询时,“主”是指左联接中的左表,还是“驱动”表。但是无论哪种情况,您在“主”表中所看到的都是“主”表。您编写的查询不一定是该查询实际执行中的“主”表。

我的猜测是,Oracle在执行查询时只是使用它命中的第一个表中的列。并且由于SQL中的大多数单独 *** 作不需要先击打一个表,因此DBMS将在解析时决定哪个是最有效的扫描对象。尝试获取查询的执行计划。我怀疑它可能显示它先击中类别,然后击中PARTS。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5675249.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存