前一段时间(大约 2004 年),我在一个团队中担任后端开发人员,每个人都使用 where 子句连接。作为使用内部/外部连接的支持者,我向他们展示了一个 where 子句连接示例,说明它如何根据数据产生不明确的结果,以及外部连接如何避免该问题。
我必须做同样的演示,但再也找不到那个片段了。它在我的文件存档中的某个地方,不幸的是我无权访问。有没有人有一个方便的例子?
前一段时间(大约 2004 年),我在一个团队中担任后端开发人员,每个人都使用 where 子句连接。作为使用内部/外部连接的支持者,我向他们展示了一个 where 子句连接示例,说明它如何根据数据产生不明确的结果,以及外部连接如何避免该问题。
我必须做同样的演示,但再也找不到那个片段了。它在我的文件存档中的某个地方,不幸的是我无权访问。有没有人有一个方便的例子?
这只能在设置为 80 兼容级别(或 SQL Server <= 2000)的数据库上进行演示。
不想使用可为空的名称列来演示?好的,可以为空的外键列怎么样?
不知道为什么你今天需要证明这一点 - 你根本不应该使用
*= / =*
连接,无论你是否可以重现一些模棱两可的行为 - 它们已被弃用并且不会在任何不支持 80 兼容性的数据库中工作等级。如果您使用的是兼容级别 80,则在最终升级时需要为大量其他功能差异和潜在的重大更改做好准备。兼容级别 80 的实际行为是什么?
坏习惯:坚持旧的兼容性级别
要改掉的坏习惯:使用旧式连接