2013-02-12 69 views
1

当我加入两个表,并添加以下在哪里,并非所有的行都返回,如果删除这更多将返回,为什么?返回所有的行与冗余where子句

where [DeliveryAttribute].RainbowLevel = [DeliveryAttribute].RainbowLevel 
+1

为什么要这样做? – 2013-02-12 15:10:41

+1

你刚刚发现了另一种(不明确)的方式来写'where [DeliveryAttribute] .RainbowLevel IS NOT NULL' :) – 2013-02-12 15:17:55

回答

3

结果:

x = x 

unknown如果xnull。在这种情况下,这些行将被where子句过滤掉。

Example at SQL Fiddle.

+0

真的吗?以及什么时候x可以为空? – kosnkov 2013-02-13 21:11:42