gpt4 book ai didi

oracle - 旧式Oracle外连接语法-为什么在左外连接的等号右侧找到(+)?

转载 作者:行者123 更新时间:2023-12-04 06:38:00 24 4
gpt4 key购买 nike

我总是告诉新人们,记住旧式Oracle外连接语法的一种简便方法是:

the (+) sign is on opposite side of where you think it should be.



左联接:
select * from foo, bar
where foo.id = bar.id(+)

右连接:
select * from foo, bar
where foo.id(+) = bar.id

我确定我是在大学里学到的,但是在两边都有(+)号的目的是什么?它是否仅指示“即使另一侧的那些行在这一侧不匹配”?但这似乎太复杂了。选择“(+)”并将其放在没有匹配的一侧的目的是什么?

最佳答案

(+)标识外部连接到的表。按照我的教学方式,(+)指示该表可能缺少行,因此必须为其添加新的NULL行。

如果您查看LEFT OUTER JOIN成为ANSI标准之前已支持各种数据库的alternate left outer join syntaxes,则通常将专有运算符应用于“缺少”行的表。 DB2 also supports the (+) operator for outer joins的处理方式与Oracle相同。

关于oracle - 旧式Oracle外连接语法-为什么在左外连接的等号右侧找到(+)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22678643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com