5

理論上の質問...

以下に示す一連のクエリが実行されると...

Create table Temp1(C1 varchar(2))
Create table Temp2(C1 varchar(2))
insert into Temp1 Values('A'),(NULL),('B')
insert into Temp2 Values('B'),(NULL),('C'),(NULL)

select *from Temp1 A,Temp2 B
where A.C1 <> B.C1

...与える...

実結果

節 で使いA.C1 <> B.C1ました。Where


しかし、私は期待しています...

ここに画像の説明を入力

期待される結果を出力として取得するISNULL(A.C1,'') <> ISNULL(B.C1,'')には、Where句で使用する必要がありました。

私の質問は、文字列データと等しくないためISNULL、期待どおりに出力を取得するために毎回使用する必要があるのはなぜですか。NULL

4

1 に答える 1