2

employeeすべての null 値を持つ列 company を持つテーブルがあります

NOT INここで、会社名に演算子を使用したいと思います

select * from employee where employee.company NOT IN ('ABC', 'DEF')

company 列にはすでに null 値が含まれているため、技術的には結果が変わることはありません。

しかし、追加するとNOT IN0行になります。

これは、employee.company列にNULL値があるためですか?

4

2 に答える 2

8

この方法を試してください:

select * 
from employee E
where (E.company NOT IN ('ABC', 'DEF')
       or E.company is null)
于 2013-06-18T14:01:52.310 に答える
2

SQL は、 、、およびの 3つの値を持つロジックを使用します。との比較の結果はになりますが、これは ではありません。truefalseunknownnullunknowntrue

したがって、次のwhereような句です。

where null in (1,2)

行を返しません。

于 2013-06-18T14:02:53.073 に答える