あるテーブルにはあるが別のテーブルにはないいくつかの値を見つけるための非常に単純なクエリがあります。
select * from my_table were my_value in
('one','two','hello','blue')
and my_value not in
(select my_value from my_table_2)
これにより、2つの行が返されます。my_tableの行は「one」と「two」です。
しかし、それから私はこれを実行しました:
select * from my_table_2 where my_value in ('one','two')
そして、これがmy_table_2に「one」と「two」の値を持つ2つの行を返すことを発見してショックを受けました。
「入っていない」は正しいものの99%を取得していますが、いくつかの値がランダムに欠落しています。これの原因は何ですか?
編集:申し訳ありませんが、タイプミス。修正しました。