私は1行、2行、3行とヌルでいっぱいです。なぜそこに二人は同じ結果を返しません:秒1は、宣伝通りに動作している間完全なリストにはありません
select * from foo where foobar not in (1, 2, 3);
select * from foo where foobar is not null;
最初のものは、空のセットを返します。今私はちょっと混乱しています:-Dどこの "初心者のためのSQLにはNULL"のドキュメントがありますか? :-D
あなたの最初の文は次のように評価されているためです
[IS NULLとNULLの間に違いはありますか?](http://stackoverflow.com/questions/3777230/is-there-any-difference-between-y-null-and-null) –
NULLと他の値の比較は、データベース管理システム(DBMS)で異なるように扱われます。 DBMSによっては、NULLSを処理する方法を設定するシステムがあります。 (私はOracleでの経験はありませんが、あなたが記述する出力はMicrosoft SQL Serverから得られるものです)多くのDBMSでは、where句にIS NULLを指定するだけで結果にNULL値が表示されます。これは何かを何も比較することができないという哲学的原理(NULL)に基づいて設計されています.... – mortb